运算符
(1)算数运算符:
++运算,变量自己增长1。反之,--运算,变量自己减少1,用法与++一致。
独立运算:变量在独立运算时,++i和i++没有区别。
混合运算:和其他变量放在一起,++i和i++就产生了不同。
++i: 先加一后执行
i++:先执行后加一
+ 符号在字符串中的操作:+ 符号在遇到字符串的时候,表示连接、拼接的含义
(2)赋值运算符
推荐使用扩展赋值运算符(算数运算符+基本赋值运算符):+= -= *= /= %=
(3)比较运算符
比较运算符,是两个数据之间进行比较的运算,运算结果都是布尔值true或者false
(4)逻辑运算符
逻辑运算符,是用来连接两个布尔类型结果的运算符,运算结果都是布尔值true或者false
(5)条件运算符
格式: 数据类型 变量名 = 布尔类型表达式?结果1:结果2
布尔类型表达式结果是true,条件运算符整体结果为结果1,赋值给变量。
布尔类型表达式结果是false,条件运算符整体结果为结果2,赋值给变量。
(6)位运算符
所有的操作数先转为二进制的形式参与运算,再把结果转为十进制的形式
& :同一位置的两个数,一个0就是0,两个都1才是1
| :同一位置的两个数,一个为1就是1,两个都为0才是0
^ :相同为0,不同为1
(7)位移运算符
左移:<< 二进制的操作数,向左移动第二个操作数的位数,空余的位置补0,得到的结果转为十进制
*2 -->第一个操作数*2的第二个操作数次方
右移:>> 二进制的操作数,向右移动第二个操作数的位数,分水岭右侧的结果不要,只保留左侧,得到的结果转为十进制
/2 -->第一个操作数/2的第二个操作数次方
注:运算符的优先级:
单目算数位关系,逻辑三目后赋值
引用数据类型
1.创建某个类型的变量|引用
引用数据类型 变量名 = new 引用数据类型();
Scanner sc=new Scanner(); ---sc就是scanner类型的变量
2.使用功能
变量.功能名字();
(1)Scanner类:可以接收键盘输入的内容
1.导包:指明Scanner类的位置
import +包名+类名; import java.util.Scanner;
位置:类的上面
2.创建某个类型的变量|引用
Scanner sc=new Scanner();
3.引用.功能名字();
next() 接收字符串 结束功能:enter,不会接收enter
从有效字符开始接收,遇到空格,tab不接受了,但是必须遇到enter结束功能
nextLine() 只要没有换行,都能接收 遇到enter结束功能,接收enter
nextInt() nextByte() nextShort() nextDouble()....
4.引用.close();
注意:一定在一个类中使用完毕以后再关闭,否则重新开启也无法使用
(2)Random:产生随机数
1.导包 import java.util.Random;
2.创建 Random类型的变量|引用
3.引用.功能名字()
nextInt() 产生一个int范围内的随机整数
nextInt(n) 产生0~n随机整数 [0,n)
[0,max] 引用.nextInt(max+1)
[min,max] 引用.nextInt(max-min+1)+min
nextDouble() 产生[0,1)之间的随机小数
java中的流程控制语句:
顺序结构:从上倒下,从左到右
选择结构:根据选择,决定执行的内容
循环结构:重复执行某些内容
单if
if(条件表达式){
语句体;
}
If...else
if(条件表达式){
语句体1;
}else{
语句体2;
}
If…else if…else
if(条件表达式1){
语句体1;
}else if(条件表达式2){
语句体2;
}else if(条件表达式3){
语句体3;
}
....
else{
以上条件都不满足执行的内容
}
Switch语句
执行流程首先计算出表达式的值其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到brea就会结束。最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。
switch语句:定值判断
switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
....
default:
语句体n;
break;
}