复习

1.运算符和表达式

1)表达式

2)算数运算符

+ - * / %

3)关系运算符

>  <  >=  <=  ==  !=

4)逻辑运算符

&&   ||    !

5)字符串连接

+

6)赋值运算符

=

+=  -=  *=  /=  %=

int x=10;

x+=5;//x=x+5;

7)自增自减

++  --

int x=1;

int y=x++ ;

8)三目运算符(条件运算符)

int score=97;

int money= score>=90 ? 200 : 5;

2.分支结构

1)单分支

if(<条件>){

//条件为真时运行的代码

}

//无论条件真假都会运行的代码

2)双分支

if(<条件>){

//条件为真时运行的代码

}else{

//条件为假时运行的代码

}

//无论条件真假都会运行的代码

笔记

1.逻辑运算符的短路特性

&&   ||

1)&&当左侧变量值为false时

右侧无论什么值,结果都为false

那么&&右侧就没必要运行了

2)||当左侧变量值为true时

右侧无论什么值,结果都为true

那么||右侧就没必要运行了

3)为什么会设计这样的特性

当根据第一个条件已经能判断出结果

时,就没必要运行第二个条件了

能提高运行的效率

2.多分支结构

1)一个条件触发的情况在3种或3种以上

2)多重if结构

小明考试成绩

>=90    优秀

>=80    良好

>=60    及格

<60     不及格

格式

if(<条件1>){

//条件1为真时运行

}else if(<条件2>){

//条件1为假,条件2为真时运行

}else if(<条件3>){

//条件1,2为假,条件3为真时运行

}else{

//条件1,2,3均为假时运行

}

1.else if的数量是不限的

2.else可以根据需要省略

3.每个结构的{}都可能省略

4.判断条件的顺序是要求的

3)switch结构

语法

switch(<整数表达式>){

case 1:

//当整数表达式值为1时运行的语句

break;

case 2:

//当整数表达式值为2时运行的语句

break;

.....

default:

//当整数表达式没有匹配值时运行

}

整数表达式

可以是byte\short\char\int

JDK1.7开始

可以编写字符串表达式,但是用处不大

break关键字

在switch结构中运行到break

会终止(跳出)swtich结构

语法上没有强制要求必须编写break

但是不编写break会出现case穿透现象

根据小明考试的名次,来获得奖励

1          苹果笔记本电脑

2          ipad

3          智能手表

4          智能音箱

其他名次:  没有奖励

3.多分支结构小结

1)多重if结构

特别适合于判断一个变量在

某个范围时的情况

2)switch结构

使用灵活,运行效率高

但是只能做等值判断

3)小结:等值判断使用switch

范围判断使用多重if

4.循环结构

1)什么是循环结构

编写的代码执行多次的情况

在程序中,反复的执行相同

或相似的代码

2)为什么要使用循环结构

减少代码冗余,提高程序的可维护性

3)怎么样使用循环

循环的要素

3.1)循环变量

3.2)循环条件

3.3)循环操作

3.4)变量更新

5.while循环

1)语法结构

while(<条件>){

//条件为真时运行的代码

}

代码整体缩进快捷键

Ctrl+A;

Ctrl+I;

作业

1)商场根据积分发不同类型的会员卡

>=5000  黑金卡

>=2000  铂金卡

>=1000  金卡

<1000   银卡

用户输入小红会员卡的积分

输出小红会员卡的类型

        Scanner scan=new Scanner(System.in);
System.out.println("请输入小红的积分");
int point=scan.nextInt();
if(point>=5000) {
System.out.println("黑金卡");
}else if(point>=2000) {
System.out.println("铂金卡");
}else if(point>=1000) {
System.out.println("金卡");
}else {
System.out.println("银卡");
}

2)用户输入小红商场消费金额

>500元 8折

>100元 9折

>50元  95折

<=50元 不打折

输出实际消费的金额

        Scanner scan=new Scanner(System.in);
System.out.println("输入小红的消费金额");
double money=scan.nextDouble();
if(money>500) {
money*=0.8;
}else if(money>100) {
money*=0.9;
}else if(money>50) {
money*=0.95;
}
System.out.println("消费金额为:"+money);

switch结构

1)食堂每天有特价菜

用户输入周几(1~7)

周1  ----   黄焖鸡

周2  ----   烤鸭

周3  ----   酸菜鱼

周4  ----   西红柿牛腩

周5  ----   孜然羊肉

其他 ----   没有特价菜

        Scanner scan=new Scanner(System.in);
System.out.println("请输入周几");
int day=scan.nextInt(); switch(day) {
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;
default:
System.out.println("没有特价菜");
}

2)用户输入一个月份

输出这个月份有多少天

1,3,5,7,8,10,12 ----31天

4,6,9,11        ----30天

2               ----平年28天,闰年29天

        Scanner scan=new Scanner(System.in);
System.out.println("请输入年份");
int year=scan.nextInt();
System.out.println("请输入月份");
int month=scan.nextInt();
switch(month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
System.out.println("31天");
break;
case 4:
case 6:
case 9:
case 11:
System.out.println("30天");
break;
case 2:
if(year%4==0 && year%100!=0 ||
year%400==0) {
System.out.println("29天");
}else {
System.out.println("28天");
}
}

循环结构

1)使用循环结构

向控制台输出1~200

        int i=1;//循环变量
while(i<=200) {//循环条件
//循环操作
System.out.println("第"+i+"次,猥琐发育,别浪~");
i++;//变量更新
}
System.out.println("over");

2)使用循环结构

向控制台输出2~100之间的所有偶数

        int i = 2;
while (i <= 100) {
if (i % 2 == 0) { System.out.println(i);
}
i++;
}

3)计算从1+2+3+4+5+...+99+100的和

这样的题我们称之为累加操作

只要需要累加的题目,

都要定义变量sum

        int sum=0;
int i=1;
while(i<=100) {//sum:21 i:6
sum+=i;
i++;
}
System.out.println(sum);

4)计算1~100之间所有奇数的和

        int sum = 0;
int i = 1;
while (i <= 100) { if (i % 2 != 0) {
sum += i;
System.out.println(i);
}
i++;
} System.out.println(sum);

5)小明上班第一个月工资4000

每个月比上个月工资涨200

计算输出12个月后小明  总共拿到了多少工资

        int sum=0;// 累加和
int i=1;//表示月份
int sal=4000;//工资
while(i<=12) {
sum+=sal;
System.out.println("i:"+i+",sal:"+sal+",sum:"+sum);
sal+=200;
i++;
}
System.out.println(sum);

6)打印出1-100之间所有不是7的倍数

和不包含7的数字,并求和

i%7!=0 && i%10!=7 && i/10!=7

        int sum = 0;
for (int i = 1; i <= 100; i++) {
if(i%7 ==0 || i%10 == 7 || i/10 == 7){//注意:70-79容易漏掉
continue;
}
sum += i;
}
System.out.println(sum);

7)4.3循环输入5个数,

输完后显示这些数中有没有负数

        Scanner scan=new Scanner(System.in);
System.out.println("请输入5个数字");
int flag=0;//立旗
int i=1;
while(i<=5) {
int num=scan.nextInt();
if(num<0) {
flag=1;
}
i++;
}
if(flag==0) {
System.out.println("没有负数");
}else {
System.out.println("有负数");
}

day04逻辑运算符短路、多分支结构(if和switch)、循环结构、while循环的更多相关文章

  1. Java 8- Java 分支结构 - if…else/switch

    Java 分支结构 - if...else/switch 顺序结构只能顺序执行,不能进行判断和选择,因此需要分支结构. Java有两种分支结构: if语句 switch语句 if语句 一个if语句包含 ...

  2. Java 分支结构 - if...else/switch

    Java 分支结构 - if...else/switch 顺序结构只能顺序执行,不能进行判断和选择,因此需要分支结构. Java 有两种分支结构: if 语句 switch 语句 if 语句 一个 i ...

  3. 20180711-Java分支结构 – if…else/switch

    public class Test{ public static void main(String args[]){ int x = 10; if(x<20){ System.out .prin ...

  4. C语言入门6-选择结构--f语句-switch

    一.     什么是选择结构? 选择结构,也称为分支结构!! 选择结构就是根据    给定的判定条件,判断结果, 并根据  判断的结果   来控制程序的流程 (流程图中,   菱形框 是有来判断的 , ...

  5. 房上的猫:switch选择结构,与选择结构总结

    switch选择结构: 一.定义: switch选择结构,可以方便地解决等值判断问题二.语法:  switch(表达式){   case 常量1:    //代码块1;      break;   c ...

  6. java中的结构--switch选择结构

    if-switch 选择结构 switch结构可以更好的解决等值判断问题switch 选择结构的语法:switch (表达式){ case 常量 1: //代码块1: break; case 常量 2 ...

  7. 选择结构二switch选择结构

     在上一章节我们讲解了if选择结构  本章我们学习 switch选择结构 还要知道if选择结构和switch结构的区别 为什么学习了if选择结构还要学习switch选择结构  以及 两种选择结构的运用 ...

  8. JAVA基础语法:常用功能符以及循环结构和分支结构(转载)

    3.JAVA基础语法:常用功能符以及循环结构和分支结构 1.常用功能符 注释 ("文字"是被注释的部分) //文字 单行注释 /文字/ 多行注释 算术运算符 + - * / / 整 ...

  9. Javascript开发技巧(JS中的变量、运算符、分支结构、循环结构)

    一.Js简介和入门 继续跟进JS开发的相关教程. <!-- [使用JS的三种方式] 1.HTML标签中内嵌JS(不提倡使用): 示例:<button onclick="javas ...

随机推荐

  1. .NET Core 3.0之深入源码理解HealthCheck(一)

    写在前面 我们的系统可能因为正在部署.服务异常终止或者其他问题导致系统处于非健康状态,这个时候我们需要知道系统的健康状况,而健康检查可以帮助我们快速确定系统是否处于正常状态.一般情况下,我们会提供公开 ...

  2. ASP.NET Core 中的 ObjectPool 对象重用(一)

    前言 对象池是一种设计模式,一个对象池包含一组已经初始化过且可以使用的对象,而可以在有需求时创建和销毁对象.池的对象可以从池中取得对象,对其进行操作处理,并在不需要时归还给池子而非直接销毁他,他是一种 ...

  3. 数据降维-PCA主成分分析

    1.什么是PCA? PCA(Principal Component Analysis),即主成分分析方法,是一种使用最广泛的数据降维算法.PCA的主要思想是将n维特征映射到k维上,这k维是全新的正交特 ...

  4. js模块导入/导出大全

    说明 module.exports与exports是CommonJS的规范 export与export default是es6规范 require 是 AMD规范引入方式 import是es6的一个语 ...

  5. Elasticsearch系列---并发控制及乐观锁实现原理

    概要 本篇主要介绍一下Elasticsearch的并发控制和乐观锁的实现原理,列举常见的电商场景,关系型数据库的并发控制.ES的并发控制实践. 并发场景 不论是关系型数据库的应用,还是使用Elasti ...

  6. 【SSL1457】翻币问题

    题面: \[\Large\text{翻币问题}\] \[Time~Limit:1000MS~~Memory~Limit:65536K\] Description 有N个硬币(6<=N<=2 ...

  7. ajax请求成功,状态却是200

    AJAX状态为200,这类状态代码表明服务器成功地接受了客户端请求.简单的来说成功发送一个AJAX请求,但是就是不进入success事件,进入error事件. $.ajax({ type:'POST' ...

  8. hibernate查询方式(二)

    1.HQL查询(hibernate query language) 操作的是实体类和属性 *查询所有记录 //1.hql查询操作会使用Query对象 // (1)写sql语句 创建Query对象, S ...

  9. 登录oracle数据库

    1.windows (cmd)命令行登录: 下载命令行工具 点击这里进入官网下载,下载其中三个文件 instantclient-basic-windows.x64-19.3.0.0.0dbru.zip ...

  10. luogu P2417 课程

    题目描述 n个学生去p个课堂,每一个学生都有自己的课堂,并且每个学生只能去一个课堂,题目要求能够安排每一个课堂都有人吗? 输入格式 第一行是测试数据的个数, 每组测试数据的开始分别是p和n, 接着p行 ...