IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Java基础 杂记2 -> 正文阅读

[Java知识库]Java基础 杂记2

分支:

单分支 if

// 过多的if影响代码可读性,建议最多叠3层
if(){

}else if(){

}else {

}

多分支 switch

switch( 表达式 ){
	case 常量1:语句1;
	break;
	case 常量2:语句2;
	break;
	...
	[ default: 语句n ;]
}

细节
1、case子句中的值必须是常量。
2、不加break则会继续往下执行。
3、case后的常量类型需跟表达式数据类型一致。
4、没有匹配的case时,执行default
5、switch(表达式) 中表达式的返回值必须是:(byte,short,int,char,enum[枚举],String) 中的其中一个

switch和if如何选择?

1、判断的具体数值不多,而且符合那6种类型,建议使用switch。
2、对区间判断,对结果为boolean类型判断,使用if,if使用范围更广。

for

for(循环变量初始化; 循环条件; 循环变量迭代){
	循环操作(可以多条语句);
}

案例:
输入年月日,输出为该年的第几天。

import java.util.Scanner;
public class Hello{
	public static void main(String[] args){
		//判断给定一天是这一年的第几天
		Scanner in = new Scanner(System.in);
		int year = in.nextInt();
		int month = in.nextInt();
		int day = in.nextInt();
		int num = 0;
		for(int i = 1; i < month; i++){
			if ( i == 2 ){
				// 闰年
				if (( year % 4 == 0 && year % 100 != 0 ) || year % 400 == 0)
					num += 29;
				else num += 28;
			}
			else {
				if(i != 4 || i != 6 || i != 9 || i != 11)
					num = num + 31;
				else num = num + 30;
			}
		}
		num += day;
		System.out.println(year+"年"+month+"月"+day+"日是该年第"+num+"天");
	}
}

while 循环

先判断再执行

while(循环条件){
	循环体(语句);
	循环变量迭代;
}

//eg:
int i = 1;
while( i <= 10 ){
	System.out.println("Hello"+i++);
}

do…while 循环

do{
	循环体(语句);
	循环变量迭代;
}while(循环条件);

注意:
1、先执行再判断,至少执行一次
2、do while是关键字
3、最后有个分号

案例

案例1:九九乘法表

//打印九九乘法表
//外函数控制行,内函数控制列
for(int i = 1; i <= 9; i++){
	for(int j = 1; j <= i; j++){
		System.out.print(j + " * " + i + " = " + (i * j)+"\t");
	}
	System.out.println();
}

打印结果:
在这里插入图片描述

案例2 金字塔、菱形

// 实心金字塔
// 每行i*2-1颗星,n-行数个空格
System.out.println("输入实心金字塔的行数:");
Scanner in = new Scanner(System.in);
int row = in.nextInt();
for (int i = 1; i <= row; i++){
	//输出空格
	for(int j = row-i; j > 0; j--){
		System.out.print(" ");
	}
	//输出星
	for (int j = i*2-1; j > 0; j--){
		System.out.print("*");
	}
	System.out.println();
}

// 与实心不同的是,除了首尾行,中间行只有首尾有星。
// 即,中间再输出(i-1)*2-1个空格
// 可以看作大金子塔内挖空了一个金字塔
System.out.println("输入空心金字塔的行数:");
int row2 = in.nextInt();
for (int i = 1; i < row; i++){
	//输出空格
	for(int j = row-i; j > 0; j--){
		System.out.print(" ");
	}
	// 与实心不同的是,除了首尾行,中间行只有首尾有星。
	System.out.println("输入空心金字塔的行数:");
	int row2 = in.nextInt();
	for (int i = 1; i <= row; i++){
		//输出空格
		for(int j = 1; j <= row-i; j++){
			System.out.print(" ");
		}
		for(int j = 1; j <= i*2-1; j++){
			if(j == 1 || j == i*2-1 || i == row)
				System.out.print("*");
			else System.out.print(" ");
		}
		System.out.println();
	}
}

打印结果:
在这里插入图片描述

// 打印空心菱形
System.out.println("输入行数:");
int row3 = in.nextInt();
for (int i = 1; i <= row; i++){
	//输出空格
	for(int j = 1; j <= row-i; j++){
		System.out.print(" ");
	}
	for(int j = 1; j <= i*2-1; j++){
		if(j == 1 || j == i*2-1 )
			System.out.print("*");
		else System.out.print(" ");
	}
	System.out.println();
}
for (int i = 1; i <= row3; i++){
	//输出空格
	for(int j = 1; j <= i; j++){
		System.out.print(" ");
	}
	for(int j = 1; j <= (row3-i)*2-1; j++){
		if(j == 1 || j == (row3-i)*2-1)
			System.out.print("*");
		else System.out.print(" ");
	}
	System.out.println();
}

打印结果:
在这里插入图片描述

跳转控制语句

break

终止语句块。
break可以和标签使用

label1:{
	label2:{
		label3:{...break labeln}
	}
}

1、break语句可以通过 label 来指定退出哪层。
2、label1是标签,名字由程序员指定。
3、在实际开发中,尽量不要使用标签。(降低可读性)
4、若没有指定标签,默认退出最近循环体。

案例

//3次输入机会,当输入用户为丁真,密码为666时,登陆成功。
//涉及:字符串匹配,for循环,break跳转控制语句
int n = 3;
Scanner in = new Scanner(System.in);
while(n-- > 0){
	System.out.println("请输入用户名:");
	String a = in.next();
	System.out.println("请输入密码:");
	String b = in.next();
	if( a.equals("丁真") && b.equals("666")){
		System.out.println("登陆成功");break;
	}else 
		System.out.println("登录失败,还有"+n+"次机会");
}

continue

1、结束本次循环,继续执行下一次循环。
2、也可指明要跳过哪层循环。

return

使用在方法,表示跳出所在方法。

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-10-20 12:21:41  更:2021-10-20 12:23:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 22:00:53-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码