java中运算符,基本语句以及流程过程结构
1.java逻辑运算符简述
2.Java中位运算符的基本用法
-
位运算符
3.三元运算符的基本用法
4.键盘录入的基本格式(重要)
-
如何实现键盘录入呢?
- 在class语句上方输入:
import java.util.Scanner;
-
练习:比较输入的两个整数数据的大小
import java.util.Scanner; class Input { public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.println("请输入第一个整数"); int num1=sc.nextInt(); System.out.println("请输入第二个整数"); int num2=sc.nextInt(); if(num1>num2){ System.out.println("max="+num1);} else{ System.out.println("max="+num2); } } }
5.顺序结构语句:第一部分(if与switch)
- 什么是流程控制语句
在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。
也就是说程序的流程对运行结果有直接的影响。 - 流程控制语句的分类
- 顺序结构
- 是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行
- 选择结构
- 循环结构
- 顺序结构
- 选择结构
逻辑运算的结果有两个,所以产生选择,按照不同的选择执行不同的代码。- 选择结构的分类
if语句
switch语句
- 选择结构的分类
6.if语句的注意事项及练习
-
比较表达式无论简单还是复杂,结果必须是boolean类型
-
if语句控制的语句体如果是一条语句,大括号可以省略;如果是多条语句,就不能省略。
建议永远不要省略。
-
一般来说:有左大括号就没有分号,有分号就没有左大括号
-
if语句的格式2
if(比较表达式) { 语句体1; }else { 语句体2; }
-
三元运算符实现的,都可以采用if语句实现。反之不成立。
-
例1(比较三个整数的大小,使用if语句实现)
import java.util.Scanner; class Input2 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.println("请输入第一个整数"); int num1=sc.nextInt(); System.out.println("请输入第二个整数"); int num2=sc.nextInt(); System.out.println("请输入第三个整数"); int num3=sc.nextInt(); int t=0; int max=0; if(num1>num2){ t=num1;} else{ t=num2;} if(t<num3){ max=num3;}else{ max=t;} } }
-
例2(计算y的值)
import java.util.Scanner; class If1 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.println("请输入x的值"); int num1=sc.nextInt(); int x=num1; int y=0; if(x>=3){ y=2*x+1;} else if(x>=-1&&x<3) { y=2*x; } else if(x<-1) { y=2*x-1;}else { System.out.println("数据不合法"); } System.out.println("y="+y); } }
-
例3(判断输入的月份属于什么季节)
import java.util.Scanner; class If2 { public static void main(String[] args) {Scanner sc=new Scanner(System.in); System.out.println("请输入月份"); int num1=sc.nextInt(); if(num1==3||num1==4||num1==5) { System.out.println("春季"); } else if (num1==6||num1==7||num1==8) { System.out.println("夏季"); } else if(num1==9||num1==10||num1==11) { System.out.println("秋季"); } else if(num1==12||num1==1||num1==2) { System.out.println("冬季"); } else { System.out.println("不合法"); } } }
7.switch语句的注意事项及使用
-
switch语句的格式
switch(表达式){ case 值1: 语句体1; break; case 值2: 语句体2; break; case 值3: 语句体3; break; .... default: 语句体n+1; break;
-
switch语句的可用格式
- byte,short,int,char
JDK5以后可以是枚举
JDK7以后可以是String
- byte,short,int,char
-
case后面跟的是要和表达式进行比较的值
-
语句体部分可以是一条或多条语句
-
break表示中断,结束的意思,可以结束switch语句
-
default语句表示所有情况都不匹配的时候,就执行该处的内容
-
case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的值
-
default可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。
-
case穿透
如果省略break,则会从选择的case值一路往下执行,直到遇到break或执行全部语句 -
练习:
A:看程序写结果:
int x = 2;
int y = 3;
switch(x){
default:
y++;
break;
case 3:
y++;
case 4:
y++;
}
System.out.println("y="+y);
B:看程序写结果:
int x = 2;
int y = 3;
switch(x){
default:
y++;
case 3:
y++;
case 4:
y++;
}
System.out.println("y="+y);
a的答案是:4
b的答案是:6
-
练习2(用switch语句实现月份配对)
import java.util.Scanner; class Switch1 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.println("请输入月份"); int num1=sc.nextInt(); switch(num1) { case 12: System.out.println("冬季"); break; case 1: System.out.println("冬季"); break; case 2: System.out.println("冬季"); break; case 3: System.out.println("春季"); break; case 4: System.out.println("春季"); break; case 5: System.out.println("春季"); break; case 6: System.out.println("夏季"); break; case 7: System.out.println("夏季"); break; case 8: System.out.println("夏季"); break; case 9: System.out.println("秋季"); break; case 10: System.out.println("秋季"); break; case 11: System.out.println("秋季"); break; default: System.out.println("不合法"); break; } } }
8.选择结构if语句和switch语句的区别
- if语句使用场景:
- 针对结果是boolean类型的判断
- 针对一个范围的判断
- 针对几个常量值的判断
- switch语句使用场景:
- 针对几个常量值的判断