switch
switch
结果必须是
byte,short,char,int
(整数或字符)中的一种,
若switch放其他类型,语法错误
。
jdk5以后可以是枚举 jdk以后可以是String
switch语句的注意事项:
case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的
case 整数或字符:满足switch定义的条件,那么执行
否者不执行case右边的内容
case满足要求时,代码从左往右执行,一旦break后,
那么switch中后面不符合要求的代码不在执行,直接跳出switch方
break
:代表的是终止 终断
每个
case
语句中需要加上
break;
语句。如果遗漏了
break
,则会继续进入到下一个
case
。
default
当所有的值和表达式不匹配的时候,就执行default控制的语句,相当于if语句里面的else
class XuanZe
{
public static void main(String[] args){
int num = 3;
switch(num){
case 1:System.out.println("num的结果为1");break;
case 2:System.out.println("num的结果为2");break;
case 3:System.out.println("num的结果为3");
case 4:System.out.println("num的结果为4");break;
case 5:System.out.println("num的结果为5");break;
default:System.out.println("输入有误");break;
}
System.out.println("hi");
}
}
1、switch结构语法
java中的switch选择结构。
if语句: 针对结果是boolean类型的判断
针对一个范围的判断
针对几个常量值得判断
switch语句: 针对几个常量值得判断
当需要多重分支并且条件判断是等值判断的情况,使用switch选择结构代替多重if选择结构会更简单,代码结构理清晰。
本章总结:
当需要多重分支并且条件判断是等值判断的情况下,使用switch选择结构代替多重if选择结构会更简单,代码结构更清晰易读。在使用switch选择结构时不要忘记在每个case的最后写上break语句。
为了增加程序的健壮性,可以在程序中主动做出判断,并给出用户友好的提示。
在实际开发中,遇到分支情况时,通常会综合运用if选择结构的各种形式及switch选择结构来解决。
键盘录入
键盘录入:为了让程序的数据更符合开发的数据,我们就加入了键盘录入。
让程序更灵活一下。
那么,我们如何实现键盘数据的录入呢?
A:导包格式 import java.util.Scanner;
位置 在class上面。
B:创建键盘录入对象
格式 Scanner sc = new Scanner(System.in);
C:通过对象获取数据
格式 int x = sc.nextInt();
*/
import java.util.Scanner;
class ScannerDemo {
public static void main(String[] args) {
//创建键盘录入数据对象
Scanner sc = new Scanner(System.in);
System.out.println("请你输入一个数据:");
int x = sc.nextInt();
System.out.println("你输入的数据是:"+x);
}
}
简单化键盘录入
import java.util.Scanner;
int a = new Scanner(System.in).nextInt();
运算符
Java
运算符划:赋值运算符 算术运算符、关系运算符、 逻辑运算符、位运算符以及三元运算符
赋值运算符:
基本的赋值运算符:=
把=右边的数据赋值给左边。
扩展的赋值运算符:+=,-=,*=,/=,%=
+= 把左边和右边做加法,然后赋值给左边。
算术运算符
+
-
*
/
%求模
+=加并赋值
-=减并赋值
*=乘并赋值
/=除并赋值
%=求模并赋值
++自增(作用:就是对变量进行自增1)
--自减(作用:就是对变量进行自减1)
自增自减运算符
++
在前,表示值先加
1
后赋值;
++
在后,表示先赋值后加
1
取模运算符
取模运算中结果的正负取决于第一个数,即被取模数
字符串连接符
Ps
:
“
+
”
不仅可以将非字符串数据相加,还可以有字符串拼接的作用
Ps
:
“
+
”
两侧的操作数中只要有一个是字符串类型,系统会自动将另一个操作数转换为
注意:
(
1
)当将除法运算符用于整数类型时,其结果不会包含小数部分。
(
2
)求模运算符
%
,返回除法操作的余数。它既可以用于浮点数也可以用于整数。可以用于判断一个整数是否是奇数、偶数、是否是某个数的倍数。
+的用法:A:加法
B:正号
C:字符串连接符
算术运算符
i++与++i的区别:
++
在前,表示先加
1
后赋值;
++
在后,表示先赋值后加
1
程序是从上往下 从左往右运行的
单独使用:放在操作数的前面和后面效果一样,(这种用法比较常见)
参与运算使用:放在前面先自增或自减,然后再参与运算
放在后面先 运算,再 自增或自减
赋值运算符:+= 把左边和右边做加法,然后再赋值给左边
比较运算符
关系运算符也称为比较运算符
(
1
)比较运算的结果为
boolean
型。
=是赋值运算符,定义变量 给变量赋值
==用在小括号中,代表的是比较真的等于
(
2
)比较运算符最常用于
if
语句和各种循环语句中的控制表达式。
逻辑运算符与
逻辑运算符用于连接布尔型表达式
表达式:用运算符把常量或者变量连接起来符合java语法
& | ^ && || 称之为逻辑运算符,返回的结果是boolean类型
& 与(判断的意思):只有左边为假,那么不执行右边的内容
&&
双与 左边和右边都要是真
| 或者 ( 有一个真就是真)
|| 或 左边和右边之间都是真,结果才是真
^ 异或 (左边和右边有一个真就是真)
!非 (非false则true,非true则false)
注意:
&&
和
||
,
这两个运算符是所谓短路形式的逻辑运算符。假如单独根据左操作数就能确定表达式的结果,那么就不会计算右操作数的值。
注意:
&
和
|
,如果操作数为
boolean
类型,则为逻辑运算符,如果操作数为整数则为位运算符。通常将
&
和
|
作为位运算符。
位运算符
左移与右移
(
1
)左移
<<
:低位补
0
,左移动
1
位,相当于乘以
2
(
2
)右移
>>
:高位补符号位,右移
1
位,相当于除以
2
(
3
)无符号右移
>>>
:高位补
0
三元运算符:
三元格式 int x = a > b ? a : b;
比较表达式:结果是一个boolean类型。
执行流程:
根据比较表达式的计算返回一个true或者false。
。
随机数
不需要导包
int x=(int)(Math.random()*12+1);//12代表随机数的范围.1代表随机数从1开始随机
需要导包
import java.util.Random;
int a=new Random().nextInt(随机数)+1;
Random ran=new Random();:
int num=ran.next(随机数个数)+(起点);
例如:int num=ran.next(10)+10;表示10到以后的10个随机数,包括10
选择结构if else
执行流程:
先计算比较表达式的值,看其返回值是true还是false。
如果是true,就执行语句体;
如果是false,就不执行语句体;
单独使用if判断:if定义的参数必须是boolean类型或返回的为boolean类型的值,若定义或返回的结果是真,那么执行if方法体中的内容,若为假,不执行if方法体中的内容,程序继续往下执行
单独的if是判断,里面是真就执行,假就继续往下执行
if-else如果是真的就执行if,假就执行else里面的
else
不能单独使用,要和
if
一起使用,否者语法报错
if else 多个选择一个正确的,如果if以及else if判断中满足条件时是true,那么才会执行方法体中的内容,如果都不符合要求,那么执行else中的内容
if if else else 与if else if的区别:判断语句都是false那么还会执行else中的内容,
if else if : 如果判断语句都是false都不执行,