switch case 语句
语法结构:
定义一个需要参与判定的变量switch (变量名){
case 变量值1:
执行语句
【break】; case 变量值1:
执行语句
【break】; default:
执行语句 break;}
加载方式:
就是让变量名的值依次来匹配wsitch当中的case对应的变量值,如果匹配上,
就加载对应的变量值,如果匹配不上,就不加载
备注:如果在switch case语句中没有添加break语句,那么swith就会发生穿透现象
/*
if else 语句
中的布尔表达式可以表达有多个
中间使用逻辑运算符进行连接即可
比如闰年的判断 年份是否能整除4并且不能整除100 或者年份能够整除400
*/
Scanner类
功能: 主要就是往控制台中录入相应类型的数据
浮点整数 字符串 布尔类型 字符
该类jdk官方提供的类
使用其他类的时候,判断该类是否在同包下
如果在同包下,直接使用该类
如果不在同包下,需要引入该类对应的包
如:import java.util.Scanner;
表达方式:在package关键字的下面 import 该类的全路径
类的全路径 = 包名 + 类名 Scanner类的全路径------- java.util.Scanner
ty类的全路径--------com.ty
java程序常用包:
1 java.lang language 语法语言包,该包下的类不用导包 2 java.util java的工具包 工具类 3 java.io java的io流包 主要用于文件的读写操作 4 java.sql java的sql处理的包 针对连接数据库jdbc动作 5 java.net java的网络包 网络协议TCP UDP IP 网络通信socket Server Socket
6 java.text java文本处理包 对日期和字符串之间的转换SimpleDateFormat
7
使用: 1 需要创建该类的对象
表达语法;: Scanner scanner = new Scanner(System.in);
2 该对象中提供了很多功能 nextInt() 录入整数类型数据 nextDouble() 录入浮点类型数据 nextLine() 录入字符串类型数据 next() 录入字符串类型数据(没有换行)
备注: 1 对于Scanner类当中的nextXXXX()方法 如果在输入时使用空格,那么系统会自动 2 对当前输入的值进行分割 如果空格有大于等于1个,那么会自动给后面的next分配他的值
Random类
功能:主要是随机一个数(整数,小数)
当前Random类不在com.ty包下面
所以也需要导包
语法格式:import java.util.Random;
使用:1 创建Random类的对象Random random = new Random();
2 使用该对象当中的功能nextInt(int bound) 随机一个[]的整数nextDouble() 随机一个[0.0,1.0]的小数
循环结构:
程序的默认结构是顺序结构
循环结构是Java程序当中的一个很重要的结构
在有限范围内做重复动作
有三种表达形式: for语句结构 while语句结构 do-while语句结构
for语句结构:
语法结构 for(初始语句;循环语句;迭代语句){
//循环体
。。。。。}
初始语句:定义循环变量 自变量int index = 0 ;
循环进入语句: 判断当前循环是否能够继续执行index < 10
循环变量满足布尔表达式就会进入循环表达式,
如果不满足就跳出循环表达式
迭代语句: 让循环变量可以产生变化的语句 index++ 就是index变量每次递增1
index-- 就是index变量每次递减1 index+=2 就是index变量每次递增2
循环体:就是循环结构中真正执行的代码块内容
备注: for语句结构上的1 2 3 可以移动位置,不放在for里面,
只要保证for()内有两个分号
while语句结构:
语法格式: 1 初始语句 while(2 循环进入布尔表达式){
3 循环体 4 迭代语句}
备注: 迭代语句位置可能在循环体代码上面,也可能在循环体代码下面
sdo-while循环结构:
语法结构:1 初始语句do{
4 循环体代码 3 迭代语句 }while(2 )
跳转语句
break语句 打断 中断 continue语句 继续
备注: break语句 除了可以使用在循环结构上,
还可以使用在switch case选择结构上 continue 只是结束本次循环,循环并不终止
循环结构也是支持嵌套表达 break语句如果使用在循环结构上,它只能结束它所在的循环结构
如果想要跳出指示的循环结构,可以使用带标签的跳转语句
语法格式:
标签(标识符):循环结构(){
循环结构(){
break
continue 和break都支持该表达方式
变量:
数据类型之间的转换 类型之间是有包含关系
范围小的可以向范围大的进行转换 自动转换/隐性转换byte < short< int< long< float
范围大的向范围小的转换, 强制转换 /显示转换
备注: 1 如果范围大的变量再往范围小的类型进行转换时,
如果本身值超过了范围小的表示范围 不建议转换 因为精度会损失 2 ASCII编码表只能识别常规的字符,【0,127】
对于一些特殊的图标、图形、符号不能识别
字符0对应空字符 字符32对应空格 3 Java程序当中字符之间是可以是可以直接进行四则运算的 4 windows系统对于汉字如果是UTF-8站三个字节 g'b'k中占两个字节 5 所有编码表都支持ASCII编码表 6 char 类型的最大整数是65535,包含了一个0
运算符
赋值运算符:=
比较(关系): >大于 <小于 >=大于等于 <=小于等于 ==等于
逻辑: &逻辑与 |逻辑或 !逻辑取非
逻辑运算符连接的是由比较运算符连接起来的表达式,结果依然是布尔类型值
逻辑与& 前后要求同时为真true 结果才为true 否则为false
逻辑或| 前后要求同时为假false 结果才为false 否则为true
取非! 对前面的布尔表达式取相反结果
双符号运算 && || !!
在保留自身含有之外同时具有断路作用(如果前面的布尔表达式)
备注:1 赋值运算符和算术运算符结合使用可以省略强制转换2 比较运算符当中的>= <= 只要结果有一个成立就为true
3 =赋值 ==等于4 逻辑取非 只能对!后面的布尔表达式取相反结果,前面不能出现其他内容5 逻辑取非 如果是双运算符结果不变 逻辑与& 和逻辑或| 最多只能并排使用两个
位运算符
&位与 |位或 ^位异或
三目运算符 ?:
运输语法格式:
布尔表达式 ? 布尔表达式为真结果 : 布尔表达式为假结果值
当不确定布尔表达式的真假时,可以使用三目运算符直接真假结果值一次性赋值
备注;
1 如果整数表达2 三目运算符的结果类型不确定,依据“?”和“:”后面放的值来判断的3 如果给三目运算符的结果值使用一个变量来接收的话,必须确定?和:后面值的类型
多元运算符:
元------涉及到有多少个操作数据
一元------ !+ - ++ --
二元------ + - * % /