&&:两边都为真,则为真
||:有一边为真,都为真
!:非真则假,非假则真
闰年条件:
1.能被4整除但是不能被100整除
或者
2.能被400整除
year%4==0
&&
year%100!=0
||
year%400==0
year%4==0 && year%100!=0 || year%400==0
if...else if
int score=82;
if(score>=90){
A优秀
}else if(score>=80){
B良好
}else if(score>=60){
C中等
}else{
D差
}
总结:
1.运算符
算术
关系
逻辑
赋值:建议使用扩展赋值
a+=5; 相当于a=a+5
+
三目: 语法: boolean ? 1 : 2
运算过程:
计算boolean
为true,则整个为1
为false,则整个为2
2.分支结构
if:1条路
if...else:2条路
if...else if:多条路
switch...case:多条路
常常和break配合使用
break:跳出switch
优点:清晰、效率高
缺点:整形、只能判断相等
---灵活性稍差
三目/条件
int a=5,b=6;
int max;
if(a>b){
max = a;
...
...
...
}else{
max = b;
}
if(score>=90){
A优秀
}else{
if(score>=80 && score<90){
B良好
}else{
if(score>=60 && score<80){
C中等
}else{
D差
}
}
3.Switch case 语句
4.分支结构演示
6.if else if else if 语句
||:有一边为真,都为真
!:非真则假,非假则真
闰年条件:
1.能被4整除但是不能被100整除
或者
2.能被400整除
year%4==0
&&
year%100!=0
||
year%400==0
year%4==0 && year%100!=0 || year%400==0
if...else if
int score=82;
if(score>=90){
A优秀
}else if(score>=80){
B良好
}else if(score>=60){
C中等
}else{
D差
}
总结:
1.运算符
算术
关系
逻辑
赋值:建议使用扩展赋值
a+=5; 相当于a=a+5
+
三目: 语法: boolean ? 1 : 2
运算过程:
计算boolean
为true,则整个为1
为false,则整个为2
2.分支结构
if:1条路
if...else:2条路
if...else if:多条路
switch...case:多条路
常常和break配合使用
break:跳出switch
优点:清晰、效率高
缺点:整形、只能判断相等
---灵活性稍差
三目/条件
int a=5,b=6;
int max;
if(a>b){
max = a;
...
...
...
}else{
max = b;
}
if(score>=90){
A优秀
}else{
if(score>=80 && score<90){
B良好
}else{
if(score>=60 && score<80){
C中等
}else{
D差
}
}
}
小案例:
1. && 的用法 一个简单的小应用
package day03;
import java.util.Scanner; //1
/**
* && 的用法 一个简单的小应用
*
* 模拟一个小情景,就是只限18到50岁的人参加这个舞会。
* @author Administrator
*
*/
public class Age {
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
/*
* 相当于出示身份证,这里就模拟是输入数字了。
*/
System.out.println("请输入年龄:");
int age = scan.nextInt(); //3
//进行判断是否可以进去
boolean b = age>=18 && age<=50;
//这里显示是否可以放行。
System.out.println(b);
scan.close(); //4 可有可无
}
}
2.运用if if else 语句
package day03;
import java.util.Scanner;
/**
* 模拟收银台程序
* @author Administrator
*可以运用if if else 语句
*/
public class Cashier {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入单价:");
double unitPrice = scan.nextDouble();
System.out.println("请输入数量:");
double amount = scan.nextDouble();
System.out.println("请输入金额:");
double money = scan.nextDouble();
//应收金额
double totalPrice = unitPrice * amount;
//满500打8折
if(totalPrice>=500){
totalPrice *= 0.8;
}
if(money>=totalPrice){ //看钱够不够
//钱够,找零
double change = money - totalPrice;
System.out.println("应收金额:"+totalPrice
+",找零:"+change);
}else{ //钱不够,提示
System.out.println("Error!钱不够");
}
}
}
3.Switch case 语句
package day03;
import java.util.Scanner;
/**
* 模拟一个小菜单的实现
* @author Administrator
*练习Switch case 语句
*/
public class CommandBySwitch {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请选择功能:0,1,2");
int command = scan.nextInt();
switch(command){
case 1:
System.out.println("显示全部记录");
break;
case 2:
System.out.println("查询登录记录");
break;
case 0:
System.out.println("欢迎使用");
break;
default:
System.out.println("输入错误");
}
}
}
4.分支结构演示
package day03;
//分支结构演示
public class IfDemo {
public static void main(String[] args) {
/*
//if块中若只有一句话,可以省略{}
//但不建议
int num = 5;
if(num%2==0){
System.out.println("是偶数");
}
System.out.println("over");
*/
/*
int num=6;
if(num%2==0){
System.out.println("是偶数");
}else{
System.out.println("是奇数");
}
System.out.println("over");
*/
/*
int num=3;
if(num==1){
System.out.println("111");
}else if(num==2){
System.out.println("222");
}else if(num==3){
System.out.println("333");
}else if(num==4){
System.out.println("444");
}else{
System.out.println("未知");
}
*/
/*
int num = 3;
switch(num){ //整型
case 1: //判断num==1
System.out.println("111");
break;
case 2:
System.out.println("222");
break;
case 3: //以此为入口
System.out.println("333");
break;//跳出switch
case 4:
System.out.println("444");
break;
default:
System.out.println("未知");
break;
}
*/
int choose = 2;
switch(choose){
case 1:
System.out.println("呼叫讲师");
break;
case 3:
System.out.println("呼叫班主任");
break;
case 2:
System.out.println("呼叫项目经理");
break;
default: //所有case都不满足才走
System.out.println("输入不合法");
}
}
}
5.三目运算符
package day03;
import java.util.Scanner;
/**
* 输入年份,判断是不是闰年
* @author Administrator
*运用三目运算符
*/
public class LeapYear {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入年份:");
int year = scan.nextInt(); //年份
boolean b = year%4==0 && year%100!=0
|| year%400==0;
String str = b ? year+"是闰年"
: year+"不是闰年";
System.out.println(str);
}
}
6.if else if else if 语句
package day03;
import java.util.Scanner;
/**
* 模拟成绩分等级
* @author Administrator
*运用if else if else if
*/
public class LevelForIf {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入成绩:");
int score = scan.nextInt();
if(score<0 || score>100){
System.out.println("成绩不合法");
}else if(score>=90){
System.out.println("A");
}else if(score>=80){
System.out.println("B");
}else if(score>=60){
System.out.println("C");
}else{
System.out.println("D");
}
}
}
7.运算符演示
package day03;
//运算符演示
public class OperatorDemo {
public static void main(String[] args){
/*
* 练习:
* 1.声明a赋值为5
* a++ 输出a的值
* ++a 输出a的值
* 2.声明b赋值为5
* 声明c赋值为b++
* 输出b和c的值
* 3.声明d赋值为5
* 声明e赋值为++d
* 输出d和e的值
* 4.声明m,n,都赋值为5
* 输出m++的值
* 输出++n的值
*/
//算术:+,-,*,/,%,++,--
//++,--单独使用,在前在后无差别
//在使用时,在前在后有差别的:
// ++、--在前,先自增/减运算,再使用
// ++、--在后,先使用,再自增/减运算
int n=5,m=5;
System.out.println(n++); //5
System.out.println(++m); //6
System.out.println(n);
System.out.println(m);
/*
int n=5;
int m=++n;
System.out.println(n); //6
System.out.println(m); //6
*/
/*
int n=5;
int m=n++;
System.out.println(n); //6
System.out.println(m); //5
*/
/*
int n=5;
//n++; //自增,相当于n=n+1
++n; //自增,相当于n=n+1
System.out.println(n); //6
*/
/*
//关系:>,<,>=,<=,==,!=
//关系运算的结果为boolean类型(true/false)
int a=5,b=8,c=5;
boolean b1 = a>b;
System.out.println(b1); //false
System.out.println(b>c); //true
System.out.println(a==c);//true
System.out.println(a>=c);//true
*/
/*
//逻辑:&&,||,!
//逻辑是连接关系的,结果也为boolean型
int a=100,b=200;
boolean b1 = a>10 && b<10;
System.out.println(b1); //false
System.out.println(a>10 && b>10);//true
System.out.println(a>b || b>10);//true
System.out.println(a>b || b<10);//false
System.out.println(!(a>b));//true
*/
/*
//&&:当第一个数为false时短路(第二个不走)
//||:当第一个数为true时短路(第二个不走)
int a=100,b=200;
//boolean b1 = a>b && a++>0;
boolean b1 = a<b || a++>0;
System.out.println(a); //100,短路
System.out.println(b1); //false
*/
/*
//赋值:=,+=,-=,*=,/=,%=
int a;
a = 5; //赋值运算(最后才赋值)
System.out.println(a); //5
a += 10;//相当于a=a+10
System.out.println(a); //15
a *= 2; //相当于a=a*2
System.out.println(a); //30
*/
/*
//字符串拼接:+
//+左右为数字时,做加法运算
//+左右有一边为字符串("")时,做连接
int a=10;
System.out.println(a); //10
System.out.println("a="); //a=
System.out.println("a="+a);//a=10
int b = 200;
System.out.println("b的值是"+b);
int c=100,d=200;
System.out.println(c+d+"");//300串
System.out.println(""+c+d);//100200串
*/
/*
//三目/条件运算 boolean ? 1 : 2
//运算过程:
//1.计算boolean的值
//2.若为true,则整个的结果为1的值
// 若为false,则整个的结果为2的值
int a=5,b=6;
int max = a>b ? a : b;
System.out.println(max);
*/
}
}