equals()方法
必须由一个字符串去调用equals()方法
原理:调用方法的字符串和参数的字符串进行逐个字符的比较,若都一样则返回True;反之则返回False。由大小写之分。
三元运算符是一种简单的条件运算符,它根据条件执行两个表达式中的一个。它的语法如下:
(condition)? expression1 : expression2
其中,condition是一个布尔表达式,如果为true,则执行expression1,否则执行expression2。
例子如下:
int age = 18;
String message = (age >= 18)? "成年人" : "未成年人";
package at.day14.set;public class Test {public static void main(String[] args) {int age = 10;String message = age >= 18? "成年人":"小孩儿";System.out.println(message);}
}
数据类型+变量名 = 变量值;
如: int i = 5;
方式一:输出后自动换行System.out.println()
方式二:输出后不会在东换行System.out.print()
程序从上到下一步一步按顺序执行
Step1:申请资源,创建Scanner类型对象;
即import java.util.Scanner
—该代码最好写在公共类之前,否则每次在输入之前都要写该代码。
Step2:提示输入xxx;
Scanner input = new Scanner(System.in);
System.out.println("请输入:")
;
Step3:接受输入的内容;
int a = Int();此处以整型为例
Step4:全部输入完成后,释放资源并归还资源。
input.close()
函数进行释放资源。
长整型输入:
long binNum = Long();
双精度输入:double d = Double();
布尔型输入:boolean b = Boolean();
字符串输入:String s = ();
字符输入:char c = ().charAt(num);
------charAt(num)代表先按照字符串进行接收,然后将下标为num的字符赋给字符变量c(注意:下标从0开始)
next()方法:遇到空格等空白符就认为输入结束。
nextLine()方法:遇到回车换行才会认为输入结束。
注意:当不与其他next方法一起用时可以使用nextLine()方法;反之则使用next()方法。
若条件表达式为True则执行语句体;反之则不执行,跳过if条件语句继续执行后续代码。
if(条件表达式){语句体;
}
若条件表达式为True则执行语句体1;反之则执行语句体2。
if(条件表达式){语句体1;
}else{语句体2;
}
若满足条件表达式就执行语句体1;反之判断条件2是否为True,若为True则执行语句体2;反之判断条件3是否为True,若为True则执行语句体3;反之执行语句体4。
if(条件表达式){语句体1;
}else if(判断条件2){语句体2;
}else if(判断条件2){语句体3;
}else{语句体4;
}
if(条件表达式1){if(条件表达式2){语句体1;}else{语句体2;}
}else{语句体3;
}
从满足条件的那行case开始,顺序执行后续代码.。详见例子。
例题:判断月份对应的季节。
方式一:
import java.util.Scanner;
public class Month {public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.println("请输入一个月份:");int choice = Int();switch(choice){case 1:case 2:case 12:System.out.println("冬季");break;case 3:case 4:case 5:System.out.println("春季");break;case 6:case 7:case 8:System.out.println("夏季");break;case 9:case 10:case 11:System.out.println("秋季");break;default:System.out.println("输入的月份有误");break;}}
}
运行结果显示为:
方式二:(jdk12之后才出现):每个case后面默认有break
import java.util.Scanner;
public class Month1 {
//注意:用EditPlus要保存为UTF-8形式public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.println("请输入一个月份:");int choice = Int();switch(choice){case 1,2,12 -> System.out.println("冬季");case 3,4,5 -> System.out.println("春季");case 6,7,8 -> System.out.println("夏季");case 9,10,11 -> System.out.println("秋季");}}}
运行结果显示为:
详见例题中的解释。
注意:写无序版本纯属脑子有泡,此处只是做个简单说明。
if语句的条件是一个布尔型值,适用范围更广。但其不具有穿透性。
switch语句的条件是一个常量值(常量值只能为byte,short,int,char,枚举(jdk1.5),String(jdk1.7)这几种基础数据类型),适用范围小。具有穿透性。
while(循环条件)中的循环条件必须是boolean类型
循环条件语句1必须为True才能进入循环;反之跳过循环体。
while (循环条件语句1){循环体语句1;
}
do{}while{};最后有一个分号
do…while结构的循环体语句至少会执行一次,这个与for和while是不一样的
do{循环体语句1;
}while(循环条件语句2);
- 执行循环体语句1
- 执行循环条件语句2,若条件语句为True,则执行第三步;反之则循环终止,循环不再执行。
- 循环条件语句执行完后,重新从第一步开始再执行一遍。
当循环条件依赖循环操作时就可以使用do…while循环
判断变量声明周期方法如图所示。
for(;;)中的两个;是不能多也不能少
循环条件语句2必须是boolean类型
for (初始化语句1;循环条件语句2;迭代语句4){循环体语句3;
}
- 执行初始化语句1,完整循环变量的初始化
- 执行循环条件语句2,若为True则执行循环体语句3;反之循环不再执行跳出循环(此处假设为True)
- 执行迭代语句4,针对循环变量重新赋值
- 根据循环变量的新值,重新从第二步开始再执行一遍
用于循环次数确定,先判断后执行的情况。
方式一:
方式二:
for(;;)循环的三个表达式均可以省略,但是两个分号不能省略。
注意:循环条件语句省略时,for 循环会陷入死循环,但是不会报for()循环的错误,只会报错死循环之后的代码,因为死循环后的代码无法运行了。如下:
错误写法:
正确写法:------循环条件语句2不能省略
for (元素类型 变量名 : 集合或数组) {// 执行循环体操作
}
定义:一个循环的循环体是另一个循环。
for (初始化语句1;循环条件语句2;迭代语句7){for (初始化语句3;循环条件语句4;迭代语句6){循环体语句5;}
}
- 外循环执行一次,内循环执行一轮。
- 三种循环可以互相嵌套
区别
- do…while循环至少执行一次循环体语句。
- for和while循环先循环条件语句是否成立,然后再决定是否执行循环体,至少执行0次循环体语句。
- 遍历有明显的循环次数(范围)要求,用for循环
- 遍历没有明显的循环次数(范围)要求,用while循环
- 若循环体语句至少执行一次,可考虑使用do…while循环
- 本质上三种循环之间可以相互转换,都能实现循环的功能
三种循环结构的共有四要素
- 循环变量的初始化表达式
- 循环条件
- 循环变量的修改的迭代表达式
- 循环体语句块
- 作用:
(1)终止switch
(2)终止循环并跳出循环语句(即结束循环)执行循环体的后续语句。- 离开使用场景的存在是没有意义的。
例题:从1加到20,当加到几时和超过40
错误写法1:此时循环体只循环一次就跳出了循环
错误写法2,若循环体内的break后还有代码则会报错,原因:break已经跳出了循环,循环体内break的后续代码无法执行,所以会报错。循环体内的break后不能有代码。
作用:
跳过本次循环,开始下次循环。
1.水仙花数
public class ShuiXianHua {
//注意:用EditPlus要保存为UTF-8形式public static void main(String[] args) {for (int i = 100;i <= 999 ; i++){int ge = i % 10;int shi = (i/10)%10;int bai = i/100;if( i == ge*ge*ge + shi*shi*shi + bai*bai*bai){System.out.println(i)}}}}
2.输入五个成绩,判断大于80分的人数。
//输入五个成绩,查看大于80分的个数。
import java.util.Scanner;
public class ScoreMaxNum {
//注意:用EditPlus要保存为UTF-8形式public static void main(String[] args) {Scanner input = new Scanner(System.in);int index = 0;for (int i = 0;i<5 ;i++ ){System.out.println("请输入一个成绩:");int score = Int();if(score < 80){continue;}index++;}System.out.println(index);}
}
3.打印右直角三角形
//打印5行右直角三角形
public class RightTriangle2 {
//注意:用EditPlus要保存为UTF-8形式public static void main(String[] args) {for (int i = 1; i <= 5;i++ ){for(int j = 0; j < (5-i); j++){System.out.print(" ");}for(int m= 0; m < i; m++){System.out.print("*");}System.out.println();//换行}}
}
3.打印倒三角形
//打印5行倒三角形
public class RightTriangle1 {
//注意:用EditPlus要保存为UTF-8形式public static void main(String[] args) {for (int i = 5; i > 0;i-- ){for(int j = 5; j > 0; j--){System.out.print("*");}System.out.println();//换行}}}
4.打印左直角三角形
//打印5行三角形
public class RightTriangle {
//注意:用EditPlus要保存为UTF-8形式public static void main(String[] args) {for (int i = 1; i <= 5;i++ ){for(int j = 0; j < i; j++){System.out.print("*");}System.out.println();//换行}}}
5.打印空等腰三角形
//打印空等腰三角形
public class EmptyIsoscelesTriangle {
//注意:用EditPlus要保存为UTF-8形式public static void main(String[] args) {for (int i = 1;i <= 5;i++){for (int j = 1;j <= 5-i;j++){System.out.print(" ");}for(int m = 1; m <= i*2-1; m++){if(m%2 != 0){System.out.print("*");}else{System.out.print(" ");}}System.out.println();}}
}
6.打印等腰三角形
public class AnIsoscelesTriangle {
//注意:用EditPlus要保存为UTF-8形式public static void main(String[] args) {for (int i = 1;i <= 5;i++){for (int j = 1;j <= 5-i;j++){System.out.print(" ");}for(int m = 1; m <= i*2-1; m++){System.out.print("*");}System.out.println();}}
}
7.密码确认
import java.util.Scanner;public class PassWordVerification{public static void main(String[] args){Scanner input = new Scanner(System.in);//声明word变量并赋空值,若你不赋空值,则在你第一次使用前要对其进行赋值操作才能使用,否则会报错String passWordOne = "";String passWordTwo = "";do{System.out.print("请输入密码:");passWordOne = ();System.out.print("请再次输入密码:");passWordTwo = ();if(!One.equals(Two)){System.out.println("两次密码不一致,请重新输入");}}while(!One.equals(Two));System.out.println("注册成功");}
}
8.斐波那契数列
public class Fibonacci {public static void main(String[] args) {int a = 1;int b = 1;System.out.print(a + " " + b + " ");for (int i = 1; i <= 10 ; i++){int c= a + b;System.out.print(c + " ");a = b;b = c;}}}
9.打印九九乘法表
//打印9*9乘法表
public class MultiplicationTable {
//注意:用EditPlus要保存为UTF-8形式public static void main(String[] args) {for (int i = 1; i <= 9;i++ ){for(int j = 0; j < i; j++){System.out.print(i+ "*" + i + "=" + i*i);System.out.print(" ");}System.out.println();//换行}}
}
本文发布于:2024-01-29 10:50:18,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170649662214751.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |