「这是我参与2022首次更文挑战的第五天,活动详情查看:2022首次更文挑战」
Java基础二
while循环语句
while语句语法
while(布尔表达式){
循环体;
}
先判断布尔表达式结果 ==》ture ==》执行循环体
注:while循环的循环体可能一次都不执行。
死循环
while(ture){
System.out.println("真不错");
}
//这一句永远不执行,因为编译器检测到上面是死循环
System.out.println("haha");
doWhile循环语句
do。。。while语句语法
do{
循环体
}while(布尔表达式);
注:do。。。while循环执行次数至少执行一次
break,continue
break和continue的区别
- break表示循环不执行了
- continue表示直接进行下次循环
int i=0;
int j=0;
while(i<10){
i++;
break;//到这一步直接退出循环
j++;
}
//结果i=1,j=0
int i=0;
int j=0;
while(i<10){
i++;
continue;//直接进行下一次循环下面的语句不执行;并且编译器报错访问不到下一个语句
j++;
}
//结果i=10,j=0
判断素数
public class math1{
public static void main(String[] arge)
{
java.util.Scanner s = new java.util.Scanner(System.in)
System.out.println("请输入一个数");
int i = s.Intnext();
boolean isSuShu = ture;//默认将i认为一个素数【进行一个标记】
for( j = 2 ; j < i ; j++)
{
if(i % j == 0){
//如果判断成功则i非素数
isSuShu = false;
break;//跳出循环
}
}
System.out.println(isSuShu ? i + "是素数" : i + "不是素数");//利用三目运算符输出
}
}
方法 (Method)
方法的概述
方法是什么?方法就是c语言中的函数。
方法是Java语言中的一种神奇的机制:
- 某个功能性代码只需要写一遍
- 要使用这个功能,只需要这个歌功能传递具体的数据
- 这个功能完成之后返回一个最终结果。
- 提高了代码的复用性
这就是方法!!!!
方法的本质是什么?
方法就是一段代码片段,并且这段代码片段可以完成某个特定的功能,并且可以重复使用。
方法定义在类体当中。在一个类中可以定义多个方法,并且没有顺序,可以随意。
方法体当中不可以再定义方法!!!!!!!
方法怎么定义以及语法结构
/*
[修饰符列表] 返回值类型 方法名 (形式参数列表)
{
方法体;
}
*/
如何调用方法:
类名.方法名(形参);
注: 1. 只要有带有return关键字的语句执行,return语句所在的方法结束。
- 如果方法不是void就必须写返回值。否则编译器会报错。
- 一个方法有返回值的时候,当我们调用这个方法的时候,返回值必须有,但是对于调用者,这个返回值可以选择接收,也可以选择不接收。(强盗原则:不管咋地,你必须给,要不要是我的事)
例子
public class method1{
public static void main(String[] args){
int a=10;
int b=20;
method1.static(a,b);//(a,b)实参列表
}
public static void sum(int a,int b){
System.out.println(a + "+" + b + " = " + (a+b));
}
}
注:
- 方法可以调用方法。
- 形参和实参的数据类型必须相同
- 存在自动类型转换,数据类型可以小转大不可以大转小
方法调用
- 方法的修饰符列表中有static关键字,完整的调用方式:类名.方法名(实参列表)
- 在同一个类时,调用方法可以不用写类名
- 省略类名之后。编译器会自动在当前类中寻找该函数。
- 建议一个java文件中只定义一个class。
public class method1{
public static void main(String[] args){
int a=10;
int b=20;
static(a,b);//(a,b)实参列表
}
public static void sum(int a,int b){
System.out.println(a + "+" + b + " = " + (a+b));
meet.();//这句会报错因为不在同一个类
}
}
class B{
public static void meet(){
System.out,println("我真帅!");
}
}
套娃
方法中的代码自上而下执行,当前代码没有结束的时候,下一句代码永不执行。
public class taowa{
public static void main(String[] arge){
System.out.println("main begin");
m1();//调用m1,下一句暂停执行
System.out.println("main over");//m1执行完成,执行这一句
}
public static void m1(){
System.out.println("m1 begin");
m2();//调用m2,下一句暂停执行
System.out.println("m1 over");//m2执行完成,执行这一句
}
public static void m2(){
System.out.println("m2 begin");
m3();//调用m3,下一句暂停执行
System.out.println("m2 over");//因为m3执行完成执行这一句
}
public static void m3(){
System.out.println("m3 begin");
System.out.println("m3 over");//m3执行完毕
}
}
深入return语句
- 带有return关键字的Java语句只要执行,所在方法就结束。
- 在同一个作用域当中,return语句下面不能编写任何代码,因为这些代码不能别执行,所以编译会报错。
public class method2{
public static void main(String[] args){
int i = m();
}
//编译器会报错:缺少返回语句,因为编译期只检查语法无法确定if条件是真是假。
public static int m(){
int a = 10;
if(a > 3){
return 1;
}
//加一句return 0;就不会报错。
}
}
当void方法中出现return语句主要是为了直接终止方法
public class static method3{
public static void main()
{
m();
}
public static void m(){
for( int i = 0; i < 10 ; i++){
if(i == 5){
return;//不是终止for循环,终止的是m方法
}
}
}
}