java零基础3--java基础语法

分支语句if

if语句的写法主要分为以下四种:

*第一种写法:

  • if(布尔表达式){
    java语句;
    } 布尔表达式为true执行大括号,否则不执行

    *第二种写法:
  • if(布尔表达式){
    java语句1;
    }else{
    java语句2;
    } 布尔表达式为true执行语句1,否则执行语句2

第三种写法

  • if(布尔表达式1){
    java语句1;
    }else if(布尔表达式2){
    java语句2;
    }else if(布尔表达式3){
    java语句3;
    }…… 从上往下依次判断,第一个布尔表达式值为true对应的分支执行,执行后结束。

第四种写法

  • if(布尔表达式1){
    java语句1;
    }else if(布尔表达式2){
    java语句2;
    }else if(布尔表达式3){
    java语句3;
    }else{
    java语句;//上面都没执行,执行这个 }

带有else的肯定会执行其中的一个分支

if语句的理解较为容易,所以这里就不具体举出例子了,但是有一点需要注意:在if语句中,有且只有一条分支可以执行

分支语句switch

switch语句的语法格式

  • switch(值){
    case 值1:
    java语句;
    break;
    case 值2:
    java语句;
    break;
    case 值3:
    java语句;
    break;
    default:
    java语句; }

以上是一个完整的switch语句,其中break和default不是必须的
值支持int,String,byte,short,char类型
switch的执行原理:
switch语句中值,与值1,值2等等的值进行对比,如果相同,则执行该分支中的java语句,遇到break结束,如果与值1不同,则会继续下去与后面的值对比,若没有break,在对比到相同的值时,会直接执行下面case中的所有语句,若所有case都没有匹配成功,则执行default中的语句。
案例1:

            switch(0){
			case 0:
			System.out.println("星期日");
			//break;
			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;
			case 6:
			System.out.println("星期六");
			//break;
			default:
			System.out.println("日期有误");

该程序本应只输出星期日,因为没有break语句,在对比到case 0后,直接执行了下面所有case中的java语句。
输出结果:

星期日
星期一
星期二
星期三
星期四
星期五
星期六
日期有误

注:switch语句的case可以重叠,下面看例子:

        String str = "不及格";
		switch(grade){
			case 10: case 9:
				str="优秀";
			    break;
			case 8:
				str="良好";
			    break;
			case 7:
				str="中等";
			    break;
			case 6:
				str="及格";
			    break;
		}
		System.out.println(str);
	}

以上案例中,当grade=9或10的时候都会输出"优秀"

循环语句

1.for循环

语法机制:
for(初始化表达式;条件表达式;更新表达式){
循环体;
}

注意:
1.条件表达式最先执行,并且在整个循环中只执行一次
2.条件表达式必须是一个布尔类型
3.执行原理:
先执行初始化表达式,然后判断条件表达式的结果,为true则执行循环体,然后执行更新表达式, 执行完后继续执行判断表达式,同上,直到为false,结束。
4.更新表达式的作用:控制循环的次数,防止死循环
案例1:输出0-9的数字

        for (int i=0;i<10 ;i++ )
		{
			System.out.println(i);
		}

这里要注意:i是定义在for循环中的局部变量,循环结束后被释放,无法再次被调用!

for循环的嵌套

注意,for循环时可以嵌套使用的,下面看案例,输出两次0-9:

        for (int k =0;k<2 ;k++ )
		{
			for (int i =0;i<10 ;i++ )//其中两份i是不同的内存
			{
				System.out.println("i->"+i);
			}
		}

在分析外层for时,里面的for当做普通的java代码即可

2.while语句

基本结构
while (布尔表达式){
循环体;
更新表达式;
}

1.执行原理:判断布尔表达式的结果。为true就执行循环体,循环体结束后再判断布尔表达式,直到为false时停止
2.while循环的执行次数:0-n次
3.更新表达式的作用:同if,控制循环次数
案例:输出0-9的数字

        int i =0;
		while(i<10){
			System.out.println(i);
			i++;
		}

3.do while语句

语法机制:
do{
循环体;
}while(布尔表达式);

这里要特别注意一点,最后的那个分号不要漏掉!
执行原理:
1.先执行一次循环体中的代码,再判断布尔表达式,true再试行再判断,false结束循环
2.do while的执行次数:1-n次
案例:输出0-9的数字

        int i =0;
		do{
			System.out.println(i);
			i++;//这句语句就相当于更新表达式,用于控制循环次数
		}while(i<10);
	}

4.循环语句总结

1.java中的循环语句与其他语言中的差别并不大,所以如果有其他语言的基础,学习起来是非常快的。
2.上述三大循环语句其实都是可以相互替换的。
3.循环包括分支语句,这些都是最重要的语法基础,必须掌握,只有掌握了这些,才能继续进行后面的学习。

4.转向语句

一、转向语句有哪些?

1.break;终止离本语句最近的循环
2.continue;终止本次循环,直接进入下一次循环
3.return;//这里暂时不讲

二、break语句

break的用处
1.switch语句中用来中止switch,上文已经讲过
2.在循环语句中用来中止循环

案例:


for (int i =0;i<10 ;i++ )
		{
			if (i==5)
			{
				break;//break会中止离他最近的循环
			}
			System.out.println(i);
		}

输出结果:
0
1
2
3
4

三、continue语句

这里直接看案例:

        for (int i = 0;i<10 ;i++ )
		{
			if (i==5)
			{
				continue;
			}
			System.out.println(i);
		}

输出结果:
0
1
2
3
4
6
7
8
9

方法的语法机制

方法怎么定义,语法机制是什么?
[修饰符列表] 返回值类型 方法名(形式参数列表){
方法体;
}

其中,[]中的修饰符列表不是必写的,目前为止统一写public static

1.关于返回值类型:
第一:只要是java中合法的数据类型就行

第二:什么是返回值?
返回值一般是一个方法执行结束之后的结果结果通常是一个数据,所以被称为“返回值”

第三:当方法结束之后,不返回任何值,返回值类型必须写上void关键字。

第四:若返回值类型不是void,在方法体结束后,必须用return语句,来完成值的返回,否则会编译报错。

第五:只要有return语句,当前方法必结束,不是整个程序结束!

第六:若是void,不可以有“return 值”的语句,但是可以有“return”语句来结束方法

2.方法名
第一:方法名要见名知意

3.形式参数列表
第一:形式参数列表中的每一个参数都是局部变量,接受调用时传进来的实际参数的值,方法结束后被释放。
第二:形参的个数是0-n个,形参有多个的话,使用逗号隔开。
第三:形参的数据类型起决定性作用,形参对应的变量名随意

4.方法定了以后怎么调用?
类名.方法名(实际参数列表)

案例:

public class text
{
	//main 方法结束之后不需要返回任何结果,main方法是程序的入口
	public static void main (String[] args){
		//调用方法
		//(10,2)为实参,注意实参和形参的类型必须一一对应
		int x = divide(10,2);//定义在同一个类之中的方法,调用的时候可以省类名.
		System.out.println(x);
	}
	//定义一个方法
	public static int divide (int x,int y){
		int z= x/y;
		return z;
	}
}

输出结果:
5

下面来看一个易错点:

    //下面这个方法报错:缺少返回值
	public static int m(){
		boolean flag =true;
		if (flag)
			//编译器觉得以下这行代码可能会不执行
		    //为了确保程序不会出现异常,所以报错
		{
			return 1;
		}
	}
	//解决方法:在最后加上return语句即可。

方法递归

即方法自己调用自己,注意方法递归一定要有退出条件!否则会有溢出栈内存的错误!

案例:通过递归求斐波那契数列的第n项

        public static int f(int n){
		if (n == 1||n == 2)//这里为退出条件!
		{
			return 1;
		}else {
			return f(n-1)+f(n-2);//自己调用自己
		}
	}

方法重载

一、在java中什么时候会发生方法重载?
1.在同一个类之中
2.方法名相同
3.参数个数不同
4.参数顺序不同
5.参数类型不同
二、什么时候使用方法重载?
在同一个类中,两个方法的功能是类似的
三、方法重载有什么用?
调用方法时,通过输入不同的实参,就可以调用不同的方法!

接下来看一个简单的案例

public static void main(String[] args){
//通过不同的实参调用重载之后的不同方法!
		System.out.println(sum(10,20));//int类型的30
		System.out.println(sum(10l,20l));//long类型的30
		System.out.println(sum(10.0,20.0));//30.0
	}

	public static int sum (int a,int b){
		return a+b;
	}

	public static long sum (long a,long b){//重载
		return a+b;
	}

	public static double sum (double a,double b){//重载
		return a+b;
	}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java基础语法中,标识符是由程序员自己规定的代表一定含义的单词。标识符可以用于标识变量、方法、类等。主要注意的是,标识符不能修改,而且其中的main是一个特殊的标识符,无法自己规定。 在Java基础部分的相关知识讲解中,也包括了关于标识符的内容。 如果你想要判断一个字符串是否是合法的Java标识符,可以使用以下代码作为参考: ```java import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner reader = new Scanner(System.in); while (reader.hasNext()) { int flag = 1; String str = reader.nextLine(); char ch; ch = str.charAt(0); int len = str.length(); if (Character.isJavaIdentifierStart(ch)) { for (int i = 1; i < len; i++) { ch = str.charAt(i); if (!Character.isJavaIdentifierPart(ch)) { flag = 0; break; } } } else { flag = 0; } if (flag == 0) System.out.printf("false\n"); else System.out.printf("true\n"); } reader.close(); } } ``` 这段代码可以读取用户输入的字符串,并判断其是否是合法的Java标识符。如果是合法的标识符,则输出true,否则输出false。 希望以上内容能够帮助到你。如果还有其他问题,请随时提问。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [【零基础Java】Day-02 基础语法--标识符](https://blog.csdn.net/qq_52681453/article/details/126020455)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Java基础[02-Java基础语法1].ppt](https://download.csdn.net/download/xiaoyoupei/13206691)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [2021级-JAVA02 基础语法1--标识符、常量与变量、数据类型、运算符与表达式](https://blog.csdn.net/weixin_62455462/article/details/126696523)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值