一、数据类型之间的转换
(1)数值类型之间的转换:整数和小数之间的数值类型转换
(2)不同数值类型的大小关系:byte < short < int < long < float < double
(3)两种类型的转换
**①自动类型的转换:小转大**
例1:
int a = 100;
double b = a ;
例2:
char c1 = 'a';//定义一个 char 类型
int i1 = c1;// char 类型自动转换为 int 类型,i1的值等于97
(因为c1 值是字符 a ,查 ASCII 码可以知道对应的 int 类型值为97)
**②强制类型转换:大转小:会丢失精度**
例1:
double a = 100.36 ; int b = int(a) ;//则最后的值为100
例2:int a =123 ; byte b = (byte) a ; //在值得前面加括号,写上类型,强制类型转换为 byte
**③隐含强制类型转换**
例1:
int 转 long : longtime = 1527764812546L; 受整数默认类型为 int 的影响
例2:
double 转 float :float rate = 0.005F; 受小数默认类型为 double 的影响
二、控制台的输入
(1)导包:import java.util.Scanner;
(2)创建工具对象:Scanner input = new Scanner(System.in);
(3)输入之前通常需要【提示语句】:通过输出语句打印(不换行)在控制台
(4)从控制台获取各种类型的值
①字符串:String val = input.next();
②单字符:char val = input.next().charAt(0);
③其他:xxx val = input.nextXxx();
1) 当输入值和需要的类型不一致时,会出现错误;
java.util.InputMismatchException 输入不匹配错误
例如:int age = input.nextInt() =>控制台输入 aaa
注意:input.nextXxx();当系统判定输入是否结束以回车符进行确认
(5)工具对象 input使用完毕通常需要关闭:input.close();
三、运算符
Java运算符的种类有很多种,这里主要介绍赋值运算符,算术运算符,关系运算符,逻辑运算符,条件运算符。
(1)、赋值运算符 : = 执行顺序从右向左执行
例如:int a = 2; => 将2赋值给 a
(2)算数运算符: +(加)) -(减) *(乘) /(除) %(余)
①算术表达式的结果类型:由该表达式的最大类型决定
2/3 = 0.666 => 2是int型,3是int型,所以结果类型是为int=0
②.除法
如果分母为0;执行会报错,报Java.lang.ArithmeticException //称为算数错误/by zero(除零错误)
③.特殊一:自运算 ++ (自增1) --(自减1)
1)val++ 先取值后运算(+1),
2)++val 先运算(+1),后取值
④.特殊:+= ( C = C+A <=> C +=A ) 同理 -= , *= , /=,%/ 都是一样的运算
(3)关系运算符(比较运算符):> >= < <= == != 应用于数值类型
①关系表达式的结果为 boolean
(4)逻辑运算符
符号表达式: &&(短路与) || (短路或) ! (非)
①.二元运算符:&& 都为true为true,否则为false
②.二元运算符:|| 都为false为false,否则为true
③.一元运算符:! 非true为false,非false为true
④.短路:对于二元运算符,当左侧的表达式能够最终确定结果时,右边的表达式不予执行
例如: