逻辑运算符
假设A为true;B为false
符号 | 描述 | 例子 |
&& | 条件1&&条件2,表示两个条件同时为真时,结果为真 | A&&B 等于false |
|| | 条件1||条件2,只要两个条件中有一个为真,结果为真 | A||B 等于true |
! | !条件,条件为真,结果为假,条件为假,结果为真 | !A等于false !B等于true |
程序结构
程序有三种结构:
- 顺序结构
- 条件结构
- 循环结构
条件结构
If语句
格式:if(条件表达式){语句};
package CSDN;
public class Demo11 {
public static void main(String[] args) {
// 单条件结构
int javaScore =9;
//1.()后面不要加分号
//2.if后面的{}不写的话,if只能控制最近的一条语句
if (javaScore>90) {
System.out.println("奖励武功秘籍");
System.out.println("奖励屠龙宝刀");
// 如果javaScore>90,就输出"奖励武功秘籍";"奖励屠龙宝刀"。
}
}
}
If...else语句
格式:if(条件表达式){语句}else{语句};
package CSDN;
import java.util.Scanner;
public class score {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入sql成绩");
double sql=sc.nextDouble();
System.out.println("请输入java成绩");
double java=sc.nextDouble();
if(sql>java){
double sub=sql-java;
System.out.println("两门课的绝对值是:"+sub);
}else{
double sub=java-sql;
System.out.println("两门课的绝对值是:"+sub);
}
//输入sql、java成绩
//如果sql>java,则计算两门课的绝对值公式为double sub=sql-java;
//否则计算两门课的绝对值公式为double sub=java-sql;;
}
}
If...else if 语句
格式:if(条件表达式){语句}elseif{语句}else{语句};
package CSDN;
import java.util.Scanner;
public class name {
public static void main(String[] args) {
// 单个if之间是没有关系,彼此都是独立的
// 多重if是一个整体,只要执行其中1个条件,就不会再执行其他的条件了
int zhangsan;
Scanner sss=new Scanner(System.in);
System.out.println("请输入张三成绩");
zhangsan=sss.nextInt();
if(zhangsan>=90){
System.out.println("优秀"); //如果张三成绩>=90,就输出"优秀"
}else if(zhangsan>=80){
System.out.println("良好"); //否则如果张三成绩>=80,就输出"良好"
}else if(zhangsan>=60){
System.out.println("中等"); //否则如果张三成绩>=60,就输出"中等"
}else{
System.out.println("加油"); //否则输出"加油"
}
}
}
Switch结构语句
特点:查询速度快,能用switch语句的一定可以用ifelse语句,反之则不一定。
格式:
switch(表达式){ //switch后⾯⼩括号中表达式的值必须是整型或字符型
case 常量1:语句;break;
case 常量2:语句;break;
……
default:语句;
}
package CSDN;
import java.util.Scanner;
public class name {
public static void main(String[] args) {
int guojing;
Scanner input=new Scanner(System.in);
System.out.println("请输入郭靖排名");
guojing=input.nextInt();
switch(guojing){
case 1:
System.out.println("武林盟主");
break;
case 2:
System.out.println("武当掌门");
break;
case 3:
System.out.println("峨眉掌门");
break;
default:
System.out.println("逐出师门");
}
// switch结构
// 1.break起到什么作用? 退出switch结构
// 2.default中为什么没写break?因为在最后
}
}
//如果没有break,则从满足条件的case开始,往后的语句全部执行。
循环结构
循环结构的特点:由循环条件和循环操作组成
While循环
先判断,再执行
格式:while(循环条件){循环操作};
package CSDN;
public class Demo4 {
public static void main(String[] args) {
// 计算1+2+3+...+10的和
// 1.和存到哪里?
// 2.能不能输出1-10?
// 3.把1-10相加
int i = 1;
int sum = 0; //存放相加后的和
while(i<=10) {
sum = sum + i;
i++;
}
System.out.println("1-10的和是"+sum);
}
}
do-while循环
先执行,再判断
格式:do{循环操作}while(循环条件);
//彩排唱歌和跳舞,如果领导对彩排满意,则成功,如果不满意,则再次彩排,直到领导满意为止。
package CSDN;
import java.util.Scanner;
public class java2 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
String answer;
do{
System.out.println("唱歌");
System.out.println("跳舞");
System.out.println("是否满意,请回答y/n");
answer=input.next();
}while(answer.equals("n")); //字符串比较不能使用==,需要使用 equals()方法,A.equals(B)表示A与B的值是否一致。
System.out.println("成功");
}
}
for循环
格式:for(初始条件表达式;判断条件表达式;控制条件表达式){循环操作};
package CSDN;
public class demo9 {
public static void main(String[] args) {
for(int i=1;i<=5;i++){
System.out.println(i); //循环输出i的值5次
}
}
}
//循环录⼊某学员的5⻔课成绩,计算平均分
package CSDN;
import java.util.Scanner;
public class Demo10 {
public static void main(String[] args) {
int score;
double sum = 0;
double avg;
String name = "张三";
Scanner input = new Scanner(System.in);
for (int i = 0; i < 5; i++) { // 循环5次录入5门课成绩
System.out.print("请输入5门功课中第" + (i + 1) + "门课的成绩:");
score = input.nextInt();
sum = sum + score;
}
avg = sum / 5; // 计算平均分
System.out.println(name + "的平均分是:" + avg);
}
}
for多重循环
输出九九乘法表
package CSDN;
public class Demo12 {
public static void main(String[] args) {
// 九九乘法表
for(int i=1;i<=9;i++) {
for(int j=1;j<=i;j++) {
System.out.print(j+"*"+i+"="+i*j+"\t");
}
System.out.print("\n");
}
}
}
输出结果
break语句
break可用在循环中和if|switch语句中,表示立即终止当前循环而执行循环后面的语句。
package CSDN;
public class Demo11 {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
if (i == 5) {
break;
}
System.out.println(i);
}
}
}
//输出1,2,3,4,没有5
continue语句
只能用在循环里,表示结束本次循环,执行下一次循环。
package CSDN;
public class Demo11 {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
if (i == 5) {
continue;
}
System.out.println(i);
}
}
}
输出结果为(没有5):
三种循环的区别:
do-while循环适用于循环次数未知的情况,先执行,再判断;
for循环和while循环适用于循环次数已知的情况,都是先判断,再执行;
for循环和while循环类似,更简洁一些。