3.24 JavaSE基础 控制语句和运算符
键盘录入功能:
//1. 导包 ( import java.util.Scanner; ) 告诉程序这个工具在何处
import java.util.Scanner;
public class SelfDemoIn {
public static void main(String[] args){
//2. 创建对象( Scanner sc = new Scanner(System.in); ) 创建工具
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的年龄");
//3. 获取数据 ( int num = sc.nextInt(); ) 使用工具获取数据
int age = sc.nextInt();
if(age<18){
System.out.println("啥比");
}else{
System.out.println("牛比");
}
}
}
控制语句
控制语句:掌握程序流向的语句,实现对程序流程的控制,从结构化程序设计角度出发,程序有三种结构:顺序结构,选择结构,循环结构
顺序结构:JAVA的基本结构就是顺序结构,除非特别指 明,否则就按照顺序一句一句执行顺序结构 是最简单的算法 结构,语句与语句之间,框 与框之间是按从上到下的顺序进行的,它是 由若干个依次 执行的处理步骤组 成的, 它是任何一个算法都离不开的一种基本算法 结构。顺序结构在程序流程图中的体现就是 用流程线 将程序框自上而地连接起来,按顺 序执行算法步骤。
选择结构:选择结构即根据不同的情况做出合理的选择
if(条件){条件为true时执行的语句}
if(条件){条件为true时执行的语句;}else{条件为false时执行的语句;}
if - else if
if(条件1){条件1为true时执行的语句;}
else if (条件2){条件1为flase且条件2为true时执行的语句;}
…
else{前面所有条件都为false时执行的语句;}
switch选择
switch选择也称定值选择,做的是等值比较。if选择可以做定值选择也可 以做区间选择
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tO6Nmffr-1616681434227)(C:\Users\m1827\AppData\Roaming\Typora\typora-user-images\image-20210324155424436.png)]
public class SelfDemoSwitch {
public static void main(String[] args) {
//定义一个值为a的字符型变量 c
char c = 'a';
//取一个随机∈[0,25]
int rand =(int) (26*Math.random());
//让变量c加上这个随机数,并将其值转为char后赋值给 c2
char c2 = (char)(c+rand);
System.out.print(c2 + ": ");
switch (c2) {
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
System.out.println("元音"); break;
case 'y':
case 'w':
System.out.println("半元音"); break;
default:
System.out.println("辅音");
}
}
}
注意:如果没有break会发生case穿透,switch语句只有运行到遇到break时才会停止。deafult的位置可以在switch语句中任意改变
运算符
Java 语言支持如下运算符:
算术运算符: +,-,*,/,%,++,--
赋值运算符 =
关系运算符: >,<,>=,<=,==,!=, instanceof
逻辑运算符: &&,||,!
位运算符: &,|,^,~ , >>,<<,>>> (了解!!!)
条件运算符 ?:
扩展赋值运算符:+=,-=,=,/=
赋值运算符
= : 赋值号, 将赋值号右边的数据,赋值给左边的变量(空间)。注意类型必须要一致或兼容
算数运算符
+,-,*,/,% 和数学中的规则一样
注意:如果只有整数参数与运算,结果也为整数
一元运算符
++(自增),--(自减),了解一个,另一个含义相同
++ 基本含义:在整型变量原来值的基础上增加 1,然后赋值给当前变量
++i(前导自增): 先将变量的值增加 1 , 赋值给自己,再进行其他运算
i++ (后导自增):先取出变量的值使用,然后再将变量的值增加 1, 赋值给自己
三目条件运算符
三目条件运算符,语法格式
x ? y : z
其中 x 为 boolean 类型表达式,先计算 x 的值,若为true,则整个三目运算的结果为表达式 y 的值,否
则整个运算结果为表达式 z 的值。
运算符 | 含义 | 说明 |
---|---|---|
& | 与且 (全真为真,否则为假) | 可做位运算符 |
| | 或 (有真为真,否则为假) | 可做位运算符 |
! | 非 (真为假,假为真) | |
^ | 异或 (相同为假,相异为真) | 可做位运算符 |
&& | 短路与(全真为真,遇假短路) | |
|| | 短路或(全假为假,遇真短路) |
&& 和 || 采用短路的方式。从左到右计算,如果确定值则不会再计算下去
逻辑与只要有一个为false, 则直接返回false.
逻辑或只要有一个为true, 则直接返回true;
boolean c = 1>2&&2>(3/0);
逻辑运算符的运算数必须是布尔值或布尔表达式,最终的结果也是布尔值
其他知识
-
Math.round()的取整规则:
Math.round(11.5)的返回值是12,Math.round(-11.5)的返回值是-11。四舍五入的原理是在参数上加0.5然后进行下取整2
-
关于进制的转化:十进制转化为二进制:使用十进制的整数不停的除以二,最终的结果为0的时候从下往上看余数
-
0b开头标识二进制的数;
0x开头标识十六进制;
-
Java中获取各个位数上的数字:
思想:将各个位数上的数字先移到个位,在将个位数字对10取余
int qian =input/1000; //千位除以1000 int bai = input/100%10;//百位除以100%10 int shi = input%100/10;//十位%100/10 int ge = input%10;//个位直接%10