JavaSE基础02
Java流程控制
1. 用户交互Scanner
public class Scanner {
//创建一个扫描对象,用来接收键盘数据
Scanner scanner_input = new Scanner(System.in);
System.out.print("请输入数据:");
//判断用户有没有输入字符串
if(scanner_input.hasNext()){
String string_01 = scanner_input.nextLine();
System.out.println("输出的内容为:" + string_01);
}
//凡是属于IO流的类如果不关闭会一直占用资源。要在使用之后关掉
scanner_input.close;
}
public class Scanner_02{
Scanner scanner_02_input = new Scanner(System.in);
int number_i = 0;
float number_f = 0.0f;
if(scanner_02_input.hasNextInt()){
number_i = scanner_02_input.nextInt();
System.out.pritnln("您输入的整数是:" + number_i);
}else{
System.out.println("您出入的数据不是整数")
}
if(scanner_02_input.hasNextFloat()){
number_f = scanner_02_input.nextFloat();
System.out.println("您输入的小数是:" + number_f);
}else{
System.out.println("您输入的数据不是小数");
}
}
public class Scanner_03 {
Scanner scanner_03_input = new Scanner(System.in);
int m = 0;
double sum = 0;
while(scanner_03_input.hasNextDouble){
double x = scanner_03_input.nextDouble();
m = m + 1; //m++ ++m
sum = sum + x;
System.out.println("您出入了" + m + "个数,总和为" + sum)
}
double average_number = sum/m;
System.out.println("输入的全部数据的总和:" + sum);
System.out.pritnln("输入的全部数据的平均数" + average_number);
//System.out.println("输入的全部数据的平均数:" + (sum/m));
scanner_03_input.close;
}
2. 选择结构
1. if选择结构语法
if(布尔表达式){
//如果布尔表达式为true 将执行的语句
}
if(布尔表达式){
//如果布尔值为true
}else{
//如果布尔值为false
}
if(布尔表达式1){
//如果布尔表达式1的值为true执行代码
}else if(布尔表达式2){
//如果布尔表达式2的值为true执行代码
}else if(布尔表达式3){
//如果布尔表达式3的值为true执行代码
}else{
//如果以上代码表达式的值都不为true执行代码
}
public class IF{
Scanner scanner_If = new Scanner(System.in);
System.out.pritnln("请输入您要输入的数据:");
String string_0 = scanner_If.nextLine();
if(string_0.equals("HelloWorld")){
System.out.println(string_0);
}
scanner_If.close;
}
public class IF_02 {
Scanner scanner_If = new Scanner(System.in);
System.out.println("请输入您要输入的数据:");
int number_0 = new scanner_If.nextInt();
if(number_0 >= 60){
System.out.println("本次考试成绩及格");
}else if(number_0 < 60){
System.out.println("本次考试成绩不合格");
}
scanner_If.close;
}
public class IF_03 {
Scanner scanner_If = new Scanner(System.in);
System.out.println("请输入您要输入的数据:");
int number_0 = new scanner_If.nextInt();
if(number_0 == 100){
System.out.println("恭喜您本次考试成绩获得满分!")
}else if(number_0 >= 90 && number_0 < 100){
System.out.println("成绩为:A");
}else if(number_0 >= 80 && number_0 < 90){
System.out.println("成绩为:B");
}else if(number_0 >= 80 && number_0 < 90){
System.out.println("成绩为:C");
}else if(number_0 >= 70 && number_0 < 80){
System.out.println("成绩为:D");
}else if(number_0 >= 60 && number_0 < 70){
System.out.println("成绩为:E");
}else (nunumber_0 < 60){
System.out.println("很遗憾,本次考试成绩为不及格");
}
scanner_If.close;
}
2. switch多选择结构
switch(expression){
case value :
//语句
break;
case value :
//语句
break;
case value :
//语句
break;
default :
//语句
}
switch语句中的变量类型可以是:
byte、short、int、char
String类型
public class Switch {
char grade = 'C';
switch(grade){
case 'A' :
System.out.println("优秀");
break;
case 'B' :
System.out.println("良好");
break;
case 'C':
System.out.println("及格");
break;
case 'D':
System.out.println("再接再励");
break;
case 'E':
System.out.println("挂科");
default:
System.out.println("位置");
}
}
public class Switch_01 {
// 字符的本质还是数字
//反编译 java---class(字节码文件)---反编译(IDEA)
String name = "kuangshen";
switch(name){
case "frank" :
System.out.println("frank");
break;
case "kuangshen" :
System.out.println("kuangshen");
break;
default:
System.out.ptintln("干什么?")
}
}
3. 循环结构
循环结构需要的条件
初始化条件、条件判断、循环体、迭代
1. while
while是最基本的循环
while(布尔表达式){
//循环内容
}
在正常的业务中要尽量避免死循环
public class while_0 {
int i = 0;
int sum = 0;
while(i <= 100){
sum = sum + i;
i++
}
System.out.println(sum);
}
2. do...while循环
do {
//代码语句
}while(布尔表达式)
3. For循环
for(初始化;布尔表达式;更新){
//代码语句
}
关于For循环有以下几点说明:
最先执行初始化步骤,可以声明一种类型,但可以初始化一个或者多个循环控制变量,也可以是空语句
然后,检测布尔表达式的值。如果为true,循环体被执行,如果为false,循环终止,开始执行循环体后面的语句
执行一次循环后,跟新循环控制变量(迭代因子控制循环变量的增减)
再次检测布尔表达式的值,循环执行上面的过程
//用For循环求0-100以内的奇数跟偶数的和
public class For_0 {
public void For_cycle(int i){
int sum_o = 0;
int sum_j = 0;
for(;i <= 100; i++){
if(i % 2 == 0){
sum_o = sum_o + i;
}else {
sum_j = sum_j + i;
}
System.out.pritnln("0-100以内的偶数的和:" + sum_o);
System.out.pritnln("0-100以内的奇数的和:" + sum_j);
}
}
}
//用For循环输出1-1000之间能被5整除的数,并且每行输出3个
public class For_1 {
public void For_cycle(int i) {
for(;i <= 1000;i++) {
if(i % 5 == 0){
System.out.println(i + "\t");
}
if(i % (5 * 3) == 0){
Sysatem.out.println();
//System.out.println("\n");
}
}
}
}
//打印九九乘法表
public class For_2 {
public void For_cycle(){
for(int i = 1;i <= 9;i++){
for(int j = 1;j <= i;j++){
System.out.print(i + "\t" + "*" + j + " = " + (i*j));
}
System.out.println();
//System.out.println("\n");
}
}
}
4. 增强For循环
//增强for循环
for(声明语句 : 表达式) {
//代码语句
}
- 声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等
- 表达式:表达式是要访问的数组名,或者是返回值为数组的方法
public class For_plus {
//定义了一个数组
int[] numbers = {10,20,30,40,50};
for(int i = 0;i < 5;i++){
System.out.println(numbers[i]);
}
//-------------------------------------------------------------------
for(int x : numbers){
System.out.println(x);
}
}
4. break,continue
break:在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环的其余语句。(break语句也在switch语句中使用)
public class Break_0 {
public void break_0(){
int i = 0;
while(i < 100){
i++;
SYstem.out.println(i);
if(i == 30){
break;
}
}
}
}
continue语句用在循环体语句中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定
public class Continue_0{
public void continue_0(){
int i = 0;
while(i < 100){
i++;
if(i % 10 == 0){
System.out.println();
continue;
}
System.out.println(i);
}
}
}
//打印三角形
public class Triangle {
public void Triangle_0() {
for(int i = 1;i <= 5;i++){
for(int j = 5;j >= i;j++){
System.out.println(" ");
}
for(int j = 1;j <= i;j++){
System.out.println("*");
}
for(int j = 1; j < i;j++){
System.out.println("*");
}
System.out.println();
}
}
}
//打印九九乘法表
public class NineNineTable {
public void nineNineTable(){
for(int j = 1;j <= 9;j++){ //两种思路 1.首先先写内层循环,在内层循环的基础上套上外层循环
for(int i = 1;i <= j;i++){ // 2.先写外层循环,在外层循环内嵌套内层循环
System.out.print(j + "*" + i + "=" + (j*i) + "\t");
}
System.out.pritnln();
}
}
}

浙公网安备 33010602011771号