02-变量和数据类型
变量的定义是:用来命名一个数据的标识符,一个数据存储空间的表示
不同数据存入具有不同内存地址的空间,相互独立
变量命名规则 字母 数字(不能开头) 下划线 美元 人民币 驼峰法例:studentClass
Java中有八种基本类型
字节 | 1 | 2 | 3 | 4 |
---|---|---|---|---|
整型 (4种) | byte | short | int | long |
字符型(1种) | char | |||
浮点型(2种) | float | double | ||
布尔型(1种) | boolean |
Java数据类型:
数值型:
整形:byte范围:-128-127 (1个字节)默认值为:0
short:-32768-32767(2个字节)
int 范围 21E(4个字节)
long(8个字节)
浮点型:
float:(4个字节)默认值为0.0f
doublie:(8个字节)
非数值型
字符型:char (2个字节)
布尔:boolean(只有0和1,可以用一个bit表示,在jvm中单一的boolean当做int处理所以4个字节,但是数组里的一个boolean当做byte数组处理所以1个字节)
字符串型:String(引用数据类型)
其他Java型
自定义型
Final常量
public static void main(String[] args) {
final double PI=3.14;//final 常量关键字标记常量,常量应该全大写
}`
scanner控制台输入
import java.util.Scanner;//第二步 import关键字用来引入外部类包
public class Demo5 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);//第一步 定义了标准输入的入口
System.out.print("请输入姓名:");//第三步 提示输入
String name=sc.nextLine();//第四步 用变量接受输入
System.out.print("请输入年龄:");
int age=sc.nextInt();
System.out.print("请输入成绩:");
double score=sc.nextDouble();
System.out.println("姓名为:"+name);
System.out.println("年龄为:"+age);
System.out.println("成绩为:"+score);
}
}
小类型和大类型进行运算时,会默认转换成大类型
例:double+int=>>double+double
因为double类型比int类型大
大类型值接受小类型时,默认转换大类型
小类型接受大类型时,需要强制转换否则会报错
例:byte型=byte型+int型;(报错)改为byte=(byte)byte型+int型
强制类型转换会丢失精度,会直接截取
例:
int avgScore=92;
avgScore=(int)(avgScore+2.5);
System.out.print(avgScore);
输出结果为:94 预想结果为94.5