JAVA基础----循环,选择结构
来源:互联网 发布:中国传媒大学南广 知乎 编辑:程序博客网 时间:2024/05/29 21:28
"稍微提一点"
运算符中还有一个三元运算符
如下:
/*
需求:
获取两个整数中的最小值
获取三个整数中的最大值
比较两个整数是否相同
*/
class OperatDemo6{
public static void main(String[] args){
int a =99;
int b =88;
//int c = (a>b)?a:b;
int c = (a < b)?a:b;
System.out.println(c);
}
}
1. 流程控制语句
1. 顺序结构--从上到下执行,默认
2. 选择结构
1. if
1. 格式一:
if(关系表达式){
执行语句;
}
如下:
/*
选择结构
if语句:
第一种格式:
if(关系表达式){
执行语句;
}
判断关系表达式为true,走执行语句;
判断关系表达式为false,绕过执行语句;
*/
class IfDemo{
public static void main(String[] args){
int x =11;
//if判断
if (x!=11){
System.out.println("x真的为11");
}
System.out.println("over");
}
}
2. 格式二:
if(关系表达式){
执行语句1;
} else{
执行语句2;
}
如下:
/*
b:判断一个数据是奇数还是偶数,
并输出是奇数还是偶数
If格式二
if(关系表达式){
执行语句1;
}else{
执行语句2;
}
执行流程:
判断关系表达式,真-->执行语句1;
假-->执行语句2;
优化:使用键盘录入
*/
//导包
import java.util.Scanner;
class IfDemo2{
public static void main(String[] args){
//创建对象
Scanner sc = new Scanner(System.in);
//定义两个变量
// int a = 77;
// int b = 88;
//使用数据
System.out.println("请输入第一个数据...");
int a = sc.nextInt();
System.out.println("请输入第二个数据...");
int b = sc.nextInt();
//判断a 和b 是否相等,输出提示
if (a==b){
System.out.println("这两个数是相等");
}else{
System.out.println("这两个数是不等");
}
System.out.println("over");
}
}
3. 格式三 :
if(关系表达式1){
执行语句1;
}else if(关系表达式2){
执行语句2;
}... else{
执行语句 n+1;
}
如下 :
/*
if第三种格式:多种条件的判断
if (关系表达式1){
执行语句1;
}else if(关系表达式2){
执行语句2;
}else if(关系表达式3){
执行语句3;
}
....
else{
执行语句n+1;
}
演示
//需求:键盘录入一个成绩,判断并输出成绩的等级。
90-100 优秀
80-89 好
70-79 良
60-69 及格
0-59 不及格
分析:
1.键盘录入,三步骤
2.多个条件判断,if第三种格式
3.在执行语句输出
总结:
1.在测试程序的时候,先使用正常值,和临界值
2.再使用超出范围,错误的值
*/
//导包
import java.util.Scanner;
class IfDemo3{
public static void main(String[] args){
//创建对象
Scanner sc = new Scanner(System.in);
//接收数据
int score = sc.nextInt();
if ( score >=90 && score <=100){
System.out.println("优秀");
}else if (score >=80 && score <=89){
System.out.println("好");
}else if (score >=70 && score <=79){
System.out.println("良");
}else if (score >=60 && score <=69){
System.out.println("及格");
}else if (score >=0 && score <=59){
System.out.println("不及格");
}else{
System.out.println("您的考试分数异常");
}
System.out.println();
}
}
4. if格式二嵌套使用
如下:
/*
获取两个数据中较大的值
方式1: 三元
方式2: if
总结:
1.当赋值运算的时候,三元和if是可以等价互换的
2.当直接输出的时候,三元是实现不了的.
if还是比较强大,三元酌情使用.
*/
import java.util.Scanner;
class IfDemo4{
// public static void main(String[] args){
//
// int x =10;
// int y =20;
//
// //定义较大值变量
// //三元方式
// int max = (x>y)?x :y;
//
// System.out.println("较大的值为:"+max);
//
// System.out.println("--------------");
//
// //if 方式
//
// int max2;
// if (x>y){
// max2 = x;
// }else{
// max2 = y;
// }
//
// System.out.println("较大的值为:"+max2);
// }
public static void main(String[] args){
//创建对象
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
//判断
if (num %2 !=0 ){
System.out.println("这个数字为奇数");
}else{
System.out.println("这个数字为偶数");
}
System.out.println();
//三元方式
// String s = (num % 2==0)?System.out.println("这个数字为偶数"):System.out.println("这个数字为奇数");
String s = (num % 2==0)?"这个数字为偶数":"这个数字为奇数";
System.out.println(s);
}
}
注意:
/*
if的注意事项:
1.关系表达式,无论格式简单还是复杂,结果必须是boolean类型
2.当执行语句是一行的时候,我们的大括号是可以省略,因为大括号控制了一行的执行语句,建议大家永远不要省略.
3.一般来说:有左大括号就没有分号,有分号就没有左大括号
*/
class IfNotice{
public static void main(String[] args){
int x =6;
// if (x=5){ // 不兼容的类型
// System.out.println("---");
// }
//
// if (x!=5)
// System.out.println("省略了大括号");
// System.out.println("over");
//
if (x==5);
{
System.out.println("---");
}
}
}
2. switch
1. 格式:
switch (表达式) {
case 值1:
执行语句1;
break;
...
default :
执行语句n+1;
break;
}
2. 如果break省略,可能造成case穿透
3. 如果default省略,可能造成异常数据无法处理
4. case值的必须是常量,不能是变量
注意 : JDK5以后可以是枚举
JDK7以后可以是字符串
/*
练习:字符串(根据给定串输出对应值)
String s = sc.nextLine();
hello
您输入的是 hello
world
您输入的是 world
java
您输入的是 java
敲吧
敲吧敲吧...
*/
//导包
import java.util.Scanner;
class SwitchTest2{
public static void main(String[] args){
//创建对象
Scanner sc = new Scanner(System.in);
//接收收据--字符串
String ss = sc.nextLine();
//switch判断
switch (ss){ // 表达式
case "hello":
System.out.println("您输入的是 hello ");
break;
case "world":
System.out.println("您输入的是 world ");
break;
case "java":
System.out.println("您输入的是 java ");
break;
case "敲吧":
System.out.println("敲吧敲吧~");
break;
}
}
}
3. 循环结构
(1)有三种:for,while,do...while
(2)for循环语句
A:格式
for(初始化语句;判断条件语句;控制条件语句){
循环体语句;
}
执行流程:
a:执行初始化语句
b:执行判断条件语句
如果这里是true,就继续
如果这里是false,循环就结束
c:执行循环体语句
d:执行控制条件语句
e:回到b
B:注意事项
a:判断条件语句无论简单还是复杂,结果是boolean类型
b:循环体语句如果是一条,可以省略大括号,但是不建议
c:有分号就没有左大括号,有左大括号就没有分号
(3)while循环
A:基本格式
while(判断条件语句) {
循环体语句;
}
扩展格式:
初始化语句;
while(判断条件语句){
循环体语句;
控制条件语句;
}
通过查看这个格式,我们就知道while循环可以和for循环等价转换。
B:for和while的区别
a:使用上的区别
for语句的那个控制条件变量,在循环结束后不能在使用了。
而while的可以继续使用。
b:理解上的区别
for适合于一个范围的判断
while适合次数不明确的
(4)do...while循环
A:基本格式
do {
循环体语句;
}while(判断条件语句);
扩展格式:
初始化语句;
do {
循环体语句;
控制条件语句;
}while(判断条件语句);
通过查看格式,我们就可以看出其实三种循环的格式可以是统一的。
B:三种循环的区别
a:do...while循环至少执行一次循环体
b:for和while必须先判断条件是否是true,然后后才能决定是否执行循环体
(5)循环使用的注意事项(死循环)
A:一定要注意修改控制条件,否则容易出现死循环。
B:最简单的死循环格式
a:while(true){...}
b:for(;;){}
4:控制跳转语句(掌握)
(1)break:中断的意思
A:用在循环和switch语句中,离开此应用场景无意义。
B:作用
a:跳出单层循环
b:跳出多层循环,需要标签语句的配合
(2)continue:继续
A:用在循环中,离开此应用场景无意义。
B:作用
a:跳出单层循环的一次,可以继续下一次
(3)return:返回
A:用于结束方法的,后面还会在继续讲解和使用。
B:一旦遇到return,程序就不会在继续往后执行。
- JAVA基础----循环,选择结构
- Java选择结构、循环结构
- Java-选择结构、循环结构
- 黑马程序员—Java基础—java基础语法:数据结构,运算符,选择结构,循环结构
- Java中的选择循环结构
- java中的选择结构和循环结构
- Java选择结构与循环结构
- 黑马程序员_JAVA基础-选择循环结构
- 【Java基础】Java循环结构
- 黑马程序员——java编程基础(二)选择结构语句、循环结构语句、方法
- Java基础(流程控制语句、选择结构、循环结构、方法)
- Java基础04-循环结构
- Java基础__(循环结构)
- Java基础2-----循环结构
- Java基础4--循环结构
- Java 基础 选择结构程序设计
- 选择结构、循环结构
- C基础中的选择结构和循环结构
- linux以及windows下查看端口占用情况
- jscroll 手机端下拉加载数据
- ArcGIS QT开发:ArcGIS Runtime dll不能被QT识别问题
- 超轻量级、高性能C日志库--EasyLogger
- DB_jdbc_Mybatis_Generator代码生成器
- JAVA基础----循环,选择结构
- android listview 不能点击 descendantFocusability
- android之apk自动更新采用Notification通知提示并显示下载进度
- JSTL标签
- git修改远程分支
- 分享一个jQuery的图片预加载插件:QueryLoader2
- poj 1061
- 二叉树的创建及简单操作
- openstack nova migration