今日内容
运算符
Scanner类
Random类
控制语句
条件控制语句
if else 语句
switch case 语句
运算符
算数有运算符
/:除法运算,当两边有浮点数时,按照正常数学运算进行。
++:自增运算符,前置++先自增再运算,后置++先运算再自增。
--:自减运算符,运算法则与自增同理。
+:“+”除了在程序中做相加运算外,还可以进行字符串拼接(当字符串与其他数据类型连接的时候),输出时并不会将其作为字符输出。
%:求余运算符,仅进行整数间的求余计算。
赋值运算符
=:做赋值运算,例:将b的值赋值给a。a = b。
+=:加后赋值,例:将a和b相加后赋值给a。a += b。
/=、%=、*=、-=皆同理于“+=”。
比较运算符
==:判断是否相等;
!=:判断是否不等;
PS:返回值只为true和false。
逻辑运算符
!:非 &&:与 ||:或
&:同时为1,运算结果为1,否则运算结果为0;
|:同时为0,运算结果为0,否则运算结果为1;
^:同为0,异为1。
位运算符
位运算符是直接对二进制数进行计算;
左移:把整数转换为二进制数,向左移动对应的位数,实际上是计算该整数*2^n;
右移:把整数转换为二进制数,向右移动对应的位数,实际上是计算该整数/2^n;
示例代码:
package Day_02; public class Demo01 { //位运算符(直接对二进制数计算) public static void wei() { System.out.println(3<<2); System.out.println(3>>1); System.out.println(5&2); System.out.println(5|2); System.out.println(3^4); } public static void main(String[] args) { wei(); } } 输出示例: 12 1 0 7 7
三目运算符
语法结构:
布尔表达式 ? 条件为真结果值 : 条件为假结果值
当布尔表达式为真时,取问号后面的值,当表达式为假时,取冒号后面的值。
示例代码:
package Day_02; public class Demo01 { //三目运算符 public static void mu() { int a = 3,b = 4; System.out.println(a > b ? a : b); } public static void main(String[] args) { mu(); } } 输出结果: 4
Scanner类
常用包
java.util 工具包
java.io IO包
java.text 文本包
java.time 时间包
java.lang 语言包 在使用时可不导入声明
java.sql 数据库操作包
Scanner类 扫描 往程序中录入信息
语法结构:
1、引入到当前类中 import java.util.Scanner
2、创建该类对象 Scanner sc = new Scanner(System.in);
3、调用对象当中的功能方法 sc.方法名(参数值);
常用方法
-
next() 字符串(文本);
-
nextLine() 同next();
-
nextInt() 整数型
-
nextdouble() 小数值
PS:
-
nextLine() 成行读取,并且带有换行。
-
next() 输入空格 第一个值会分配给当中的变量,空格后的值会分配给后面的next()方法对应的变量,空格的数量对应的是后面的输入的变量。
-
对于nextLine()方法,如果前面输入的有数值型,到nextLine()方法会发生跳跃现象,解决办法就是:添加nextLine()并不加以赋值。
Random类
它是一个随机类,当在程序中想要使用随机生成的整数或小数时便可以使用此类。
使用步骤:
1、导包声明:import java.util.Random;
2、对象创建:Random rd = new Random();
3、方法调用:rd.方法名称(参数值);
常用方法
-
nextInt(bound) 随机一个整数(0~bound-1)左闭右开;
-
nextDouble() 随机一个小数(0.0~1.0)左闭右开;
示例代码:
package Day_02; import java.util.Random; public class Demo02 { //随机类 public static void random() { Random rd = new Random(); //随机一个0.0~1.0之间的小数 double num_1 = rd.nextDouble(); System.out.println("0.0~1.0间的小数:" + num_1); //随机生成一个[2000~2023]之间的整数 int num_2 = rd.nextInt(24) + 2000; System.out.println("2000~2023间的随机整数:" + num_2); } //练习 public static void practice_1() { Random rd = new Random(); int num = rd.nextInt(99); if (num < 50) { System.out.println("恭喜!是男ikun!"); } else { System.out.println("恭喜!是女ikun!"); } } public static void main(String[] args) { random(); practice_1(); } } 运行结果: 0.0~1.0间的小数:0.02223106232361627 2000~2023间的随机整数:2000 恭喜!是女ikun!
控制语句
条件控制语句
-
if else语句
-
switch case语句
if else语句
语法结构:
if(布尔表达式(可以有多个)) {
执行语句1
} else if (布尔表达式) {
执行语句2
} else {
执行语句3
}
PS:else if 在if——else结构中可以有多个,但 if 只能有一个,else 可以没有,但至多一个。
示例代码:
package Day_02; import java.util.Scanner; public class Demo03 { //多支选择语句 public static void denglu() { Scanner sc = new Scanner(System.in); System.out.println("请输入用户名:"); String user = sc.next(); System.out.println("请输入登录密钥:"); String num = sc.next(); /*对于基本类型来说,== 比较的是内容值 *对于引用类型来说,==比较的是引用地址 * 所以在比较字符串这类引用值时,需要使用.equals()进行比较 */ if (user.equals("admin") && num.equals("000")) { System.out.println("登录成功!"); } else { System.out.println("用户名或密码错误,请重试!"); } } public static void main(String[] args) { denglu(); } } 运行结果: 请输入用户名: admin 请输入登录密钥: 000 登录成功!
拓展:Java中注释的使用:
1、代码注释 //(该行全部注释)、/**/(两个**之间的代码全部注释,可以多行注释)
2、文档注释 /***/(将**间的文档全部注释,主要使用在类的说明里)
switch case语句
switch(变量) 变量类型:后面的表达式只能是整形字符(byte、short、int、long)/ 枚举型
语法结构:
switch(变量) {
case 变量值1:
执行语句块。。。
break;
case 变量值2:
执行语句块。。。
break;
......
default:
执行语句块。。。
break;
}
break:跳转语句 终止 / 停止 / 打断
default:默认的,除了以上 case 情况之外的所有值都属于default的值。