1.运算符
优先级:
算数运算符>关系运算符>逻辑运算符>条件运算符>赋值运算符
2.数值型数据的转换
规则: 对于数据 有小到大 可以自动转换,因为精度不会丢失,但由大到小 需要强制类型转换,因为有可能丢失精度。
精度从低到高:
byte --> short-->int-->long-->float-->double
会出现编译错误 因为对于Java,对于一个运算操作,按照最大的精度计算,1(int)+a(short)最大精度为int ,但赋值给short类型则会出现编译错误。
报错是因为 即使a可以表达这个数但是因为后面默认为int类型但超出了他的范围所以编译错误需要再后面添加L。
强制把高精度转成低精度 但会出现数值丢失的情况
不再是100000 规则是减去short的范围直到这个数落到short范围中
3.Random和Scanner
Scanner 可以做到接受键盘输入
Scanner scan =new Scanner(System.in);
System.in 是键盘输入流 io流中的一种类型 可以获得键盘输入的东西
next() 和nextLine() 方法区别
next是从第一个有效字符接收空格之后的全部省略。
nextLine是接受所有字符包括空格。
如果next()
在nextLine()之前则会出现
Random可以生成随机数
一个回车不仅结束了next() 也结束了nextLine()
空白符:空格 tab 回车等等
对于从键盘获得的数据 会放到一个缓冲区中 从缓冲区拿值它判断读取结束的标示是 空白符;比如空格,回车,tab 等等
next() 遇到空白符则停止 从缓冲区拿值
nextLine() 遇到换行则停止从缓冲区拿值
Random random = new Random();
System.out.println(random.nextInt());
System.out.println(random.nextInt(10));
函数nextInt() 可以生成int的范围内的任意一个值。
nextInt(int num) 可以生成[0,num)的任意一个值。