目录
一、基本数据类型转换
强制转换:高转低
自动转换:低转高
低------->高
byte,short,char-->int-->long-->float-->double
double d1 = 100;
int i = (int)d1;
int j = 9;
char c1 = (char)j;
//高转低,精度可能会丢失
int k = 128;
//byte类型是8位,最大值为127,当int强制转换为byte类型时,128会溢出变为-128
byte b = (byte)k;//b=-128
//浮点数到整数的转换,是通过舍弃小数得到的,而不是四舍五入
int x = (int)55.9;//55
int y = (int)-28.89f;//-28
二、运算符
算术运算符:+、-、*、/、%、++、--
赋值运算符:=
关系运算符:>、<、>=、<=、==、!=
逻辑运算符:&&、||、!
位运算符:&、|、^、~、>>、<<、>>>
条件运算符(三元运算符): ?:
其中++自增、--自减:
int a = 3 ;
int b = a++;//执行完这行代码之后,先赋值给b,再自增
//a=a+1;
System.out.println(a);//a=4
//a=a+1;
int c = ++a;//执行完这行代码之前,先自增,再赋值给b
System.out.println(a);//a=5
System.out.println(b);//b=3
System.out.println(c);//c=5
三元运算符:
判断语句 ? 若为true执行的表达式 : 若为false执行的表达式
int a = 4;
System.out.println(a%2==0 ? "偶数" : "奇数");//偶数
拓展:运用运算符获取数值的各位上的数字
个位: 数值 %10;
十位: 数值 /10 %10;
百位: 数值 /100 %10;
千位: 数值 /1000 %10;
三、用户交互
Scanner 对象
next():
1、一定要读取到有效字符后才可以结束输入
2、对输入有效字符之前遇到的空白,next()方法会自动将其去掉
3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符
4、next()不能得到带有空格的字符串
nextLine():
1、以enter作为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符
2、可以获得空白
Scanner scanner = new Scanner(System.in);
int sc = scanner.nextInt();
//还可以输入多个数字,求其总和
//思路:每输入一个数字用回车确认,通过输入非数字来结束输入,并输出执行结果
Scanner scanner = new Scanner(System.in);
//输入数字的和
int sum = 0;
//记录输入了多少个数字
int n = 0;
//通过循环判断是否还有输入,并进行求和
while(scanner.hasNextInt()){
int x = scanner.nextInt();
m++;
sum = sum + x;
System.out.println("你输入了第"+m+"个数据,当前总和为"+sum);
}
scanner.close();//凡是属于IO流的类如果不关闭会一直占用资源,要写scanner.close();关掉