Java基础Day4

Java基础第四天

1.1分支结构2:switch语句

1.根据变量的值,选择相应的case去判断,一旦满足case条件,就执行case的相应语句。如果没有break或者已经

到结尾的话,会继续执行其下的case语句。

2.default:是可选的,而且位置是灵活的。

3.变量可以是哪些类型?char byte short int 枚举 String(jdk1.7)

4.case 条件:其中条件只能是值,不能是取值范围!

switch语句应用举例

import java.util.Scanner;

class TestSwitch 
{
	public static void main(String[] args) 
	{
        Scanner s = new Scanner(System.in); 
		System.out.println("请输入季节:");

		String season = s.next();

		switch(season){
			case "Spring":
				System.out.println("春天");
			break;

			case "Summer":
				System.out.println("夏天");
			break;

			case "Autum":
				System.out.println("秋天");
			break;

			case "Winter":
				System.out.println("冬天");
			break;

			default :
				System.out.println("输入有误");
			break;

		}

	}
}

练习:

根据用于指定月份,打印该月份所属的季节。

3,4,5 春季 6,7,8 夏季  9,10,11 秋季 12, 1, 2 冬季

import java.util.Scanner;
class TestSwitch2
{
	public static void main(String[] args) 
	{
		Scanner s = new Scanner(System.in);
		System.out.println("请输入月份:");
		int mounth = s.nextInt();

		if(mounth > 12 || mounth < 1){
			System.out.println("输入有误!");
		}else{
			switch(mounth/3){
				case 1:
					System.out.println("春季");
				break;
				case 2:
					System.out.println("夏季");
				break;
				case 3:
					System.out.println("秋季");
				break;
				default:
					System.out.println("冬季");
				break;
			}
		}
	}
}
import java.util.Scanner;
class TestSwitch1 
{
	public static void main(String[] args) 
	{
		Scanner s = new Scanner(System.in);
		System.out.println("请输入月份:");
		int mounth = s.nextInt();

		switch(mounth){
			case 12:
            case 1:
			case 2:
				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;

		}
	}
}

编写程序:从键盘上输入2016年的“month”和“day”,要求通过程序输出输入的日期为2014年的第几天。

import java.util.Scanner;
class  TestSwitch3
{
	public static void main(String[] args) 
	{
		Scanner s = new Scanner(System.in);
		System.out.println("请输入月份:");
		int mounth = s.nextInt();

		System.out.println("请输入日期");
		int day = s.nextInt();

		int sum = 0;

		switch(mounth){
			case 12:
				sum += 30;
			case 11:
				sum += 31;
			case 10:
				sum += 30;
			case 9:
				sum += 31;
			case 8:
				sum += 31;
			case 7:
				sum += 30;
			case 6:
				sum += 31;
			case 5:
				sum += 30;
			case 4:
				sum += 31;
			case 3:
				sum += 28;
			case 2:
				sum += 31;
			case 1:
				sum += day;

		}

		System.out.println(sum);
	}
}

1.2循环结构

循环语句功能

在某些条件满足的情况下,反复执行特定代码的功能

循环语句的四个组成部分

初始化部分(init_statement)

循环条件部分(test_exp)

循环体部分(body_statement)

迭代部分(alter_statement)

循环语句分类

for 循环

while 循环

do/while 循环

for 循环

案例:

class TestFor 
{
	public static void main(String[] args) 
	{
		for (int i = 0; i < 100 ;i++){
		System.out.println("Hello World!" + i);
		}
	}
}

题目:输出100以内的所有偶数及所有偶数的和(累加的思想)及偶数的个数

class TestFor1 
{
	public static void main(String[] args) 
	{
		int sum = 0;
		int count = 0;
		for(int i = 0; i <= 100; i++){

			if(i % 2 == 0){
				System.out.println(i);
				sum += i;
				count++;
			}
	    
		}
		System.out.println(sum);
		System.out.println(count);
	}
}

小测试:

编写程序FooBizBaz.java,从1循环到150并在每行打印一个值,另外在每个3的倍数行上打印出“foo”,在每个5的倍数行上打印“biz”,在每个7的倍数行上打印输出“baz”。

class  FooBizBaz
{
	public static void main(String[] args) 
	{

		for(int i = 1;i <= 150;i++){

			System.out.print(i + " ");

			if(i % 3 ==0){
				System.out.print("foo ");
			}

			if(i % 5 == 0){ 
                System.out.print("biz ");
			}
			if(i % 7 == 0){
				System.out.print("baz ");
			}
             System.out.println();//换行
		}
	}
}

练习:输出所有的水仙花数,所谓水仙花数是指一个3

位数,其各个位上数字立方和等于其本身。

例如: 153 = 1*1*1 + 3*3*3 + 5*5*5

class TestFor2 
{
	public static void main(String[] args) 
	{
		for(int i = 100 ; i < 1000 ; i++){
			int i1 = i / 100;
			int i2 = (i - i1*100)/10;
			int i3 = i - i1*100 - i2*10;//int i3 = i % 10;

			if(i == i1*i1*i1 + i2*i2*i2 + i3*i3*i3 ){

				System.out.println(i);

			}
		}

	}
}

While循环

语法格式

[初始化语句]

while( 布尔值测试表达式){

语句或语句块;

[更改语句;]

}

While案例:100以内的偶数的输出,及其和

class TestWhile{
	public static void main(String[] args)
{
		int i = 1;
		int sum = 0;
		while(i <= 100){
			if(i % 2 == 0){
				System.out.println(i);
				sum += i;
			}
			i++;

		}
		System.out.println(sum);
		System.out.println(i);
	}
}

do-while 循环语句

语法格式

[初始化语句]

do{

语句或语句块;

[更改语句;]

}while(布尔值测试表达式);

class TestDoWhile
{
	public static void main(String[] args) {
		int i = 1;
		do{
			if(i % 2 == 0){
				System.out.println(i);
			}
			i++;
		}while(i <= 100);

		//do-while与while的区别
		int j = 10;
		do{
			System.out.println(j);
			j++;
		}while(j < 10);

		while(j < 10){
			System.out.println(j);
			j++;
		}
	}
}

案例:从键盘读入个数不确定的整数,并判断读入的正数和负数的个数,输入为0时结束程序。

补充:

最简单无限循环格式:while(true) , for(;;),无限循环存在的原因是并不知道循环多少次,需要根据某些条件,来控制循环。

import java.util.Scanner;
class TestWhileTure 
{
	public static void main(String[] args) 
	{
		//System.out.println("Hello World!");
		Scanner s = new Scanner(System.in);

		int a = 0;
		int b = 0;

		/*for(;;){
			System.out.println("请输入一个整数");
			int num = s.nextInt();

			if(num > 0){
				a++;
			}else if(num < 0){
				b++;
			}else{
				break;
			}

		}
		*/

		while(true){
			System.out.println("请输入一个整数");
			int num = s.nextInt();

			if(num > 0){
				a++;
			}else if(num < 0){
				b++;
			}else{
				break;
			}

		}
		System.out.println("正数有"+a+"个");
		System.out.println("负数有"+b+"个");

	}
}

1.3嵌套循环

将一个循环放在另一个循环体内,就形成了嵌套循环。其中,for ,while ,do…while均可以作为外层循环和内层循环。

案例:

/*

*****

*****

*****

*****

*/

class TestForFor 
{
	public static void main(String[] args) 
	{
		/*for(int i = 0 ; i < 4 ; i++){//行循环

			for(int j = 0 ; j < 5 ; j++){//列循环
				System.out.print("*");
			}

			System.out.println();

		}
	}
}

/*

*

**

***

****

*/

class TestForFor 
{
	public static void main(String[] args) 
	{
		/*for(int i = 0 ; i < 4 ; i++){//行循环

			for(int j = 0 ; j < i+1 ; j++){//列循环
				System.out.print("*");
			}

			System.out.println();

		}
	}
}

/*

*****

****

***

**

*

*/

class TestForFor 
{
	public static void main(String[] args) 
	{
		/*for(int i = 0 ; i < 5 ; i++){//行循环

			for(int j = 0 ; j < 5-i ; j++){//列循环
				System.out.print("*");
			}

			System.out.println();

		}
	}
}

/*

*

**

***

****

*****

****

***

**

*

*/

class TestForFor 
{
	public static void main(String[] args) 
	{

		for(int i = 0;i < 5; i++){

			for(int j = 0;j < i+1; j++){

				System.out.print("*");
			}

			System.out.println();

		}

		for(int i = 0; i < 4; i++){

			for(int j = 0; j < 4-i; j++){

				System.out.print("*");

			}

			System.out.println();
		}
	}
}

打印如下图形

----*

---* *

--* * *

-* * * *

* * * * *

-* * * *

--* * *

---* *

----*

class TestForFor {
	public static void main(String[] args) 
	{
		for(int i = 0;i < 4;i++){
			for(int k = 0;k < 4-i;k++){
				System.out.print(" ");
			}
			for(int j = 0;j < i+1;j++){
				System.out.print("* ");
			}
			System.out.println();
		}
		for(int i = 0;i < 5;i++){
			for(int k = 0;k < i;k++){
				System.out.print(" ");
			}
			for(int j = 0;j < 5-i; j++){
				System.out.print("* ");
			}
			System.out.println();
		}

	}
}

打印九九乘法表:

class TestJiuJiu 
{
	public static void main(String[] args) 
	{

		for(int i = 1;i < 10;i++){
			for(int j = 1;j < i+1;j++){
				System.out.print(i+"*"+j+"="+i*j+"\t");
			}
			System.out.println();
		}
	 }
}


1.4特殊流程控制语句1

 

break 语句

 

break语句用于终止某个语句块的执行

 {    …… 

     break;

     ……

}

continue 语句

continue语句用于跳过某个循环语句块的一次执行

continue语句出现在多层嵌套的循环语句体中时,可以通过标签指明要跳过的是哪一层循环

break只能用于switch语句和循环语句中。

continue 只能用于循环语句中。

二者功能类似,但continue是终止本次循环,break是终止本层循环。

break、continue之后不能有其他的语句,因为程序永远不会执行其后的语句。

标号语句必须紧接在循环的头部。标号语句不能用在非循环语句的前面。


















时间: 2024-11-06 09:54:21

Java基础Day4的相关文章

-Java基础-Java介绍

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权:凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记. java的介绍 1.1java简介 Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言. 它最初被命名为Oak,目标设定在家用电器等小型系统的编程语言,来解决诸如电视机.电话.闹钟.烤面包机等家用电器的控制和通讯问题.由于这些智能化家电的市场需求没有预期的高,Sun放弃了该项计划.就在Oak几近失败之时,随着互联网的发展,Sun看到了Oak在计算机

第3篇-JAVA基础

第3篇-JAVA基础 每篇一句 :目标是给梦想一个期限,行动与坚持就是实现梦想的过程 初学心得: 遇到困难或问题,它不是休止符,而是引向你如何解决问题的标识 (笔者:JEEP/711)[JAVA笔记 | 时间:2017-03-26| JAVA基础 Ⅱ] 上篇回顾 上篇文章中我们学习了JAVA底层的运行机制与深入剖析以及解释其中JAVA基础代码的含义 本篇文章将JAVA基础Ⅱ全面剖析解释,因为JAVA基础非常重要,务必要牢记知识点!!! 1.JAVA基础语法格式 JAVA采用unicode编码 1

Java基础学习第五天——方法与数组

文档版本 开发工具 测试平台 工程名字 日期 作者 备注 V1.0 2016.02.24 lutianfei none 第三章Java基础语法 方法 方法就是完成特定功能的代码块,即函数. 格式: 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2-) { 函数体; return 返回值; } 详细解释: 修饰符,目前就用public static,后详解. 返回值类型:就是功能结果的数据类型. 方法名:符合命名规则即可,方便我们的调用. 参数: 实际参数:就是实际参与运算的.

2.35 Java基础总结①抽象②接口③设计抽象类和接口的原则④接口和抽象类的区别

java基础总结①抽象②接口③设计抽象类和接口的原则④接口和抽象类的区别 一.抽象 abstract作用:不能产生对象,充当父类,强制子类正确实现重写方法和类相比仅有的改变是不能产生对象,其他的都有,包括构造.属性等等任何一个类只要有一个抽象的方法就成了抽象类 抽象方法 public abstract A();①方法是抽象的,这个类也是抽象的:②子类必须重写抽象方法,除非子类也是抽象类 抽象类可以没有抽象方法,但一般不这么设计 二.接口 interface 接口也是Java的一种引用数据类型(J

java基础 计算今天距本月最后一天还剩多少天

Calendar  c = new GregorianCalendar();   //GregorianCalendar 是Calendar的一个具体子类,提供了世界上大多数国家/地区使用的标准日历系统. GredorianCalendar 是一种混合日历,可由调用者通过调用setGregorianChange()来更改起始日期. Calendar c = new  Calendar.getInstance(TimeZone.getTimeZone("GMT+08:OO"));  //

Java基础语法

Java的基础语法中包含字符集.标识符和关键字.变量和常量.语句.注释.运算符和表达式这些基本要素. 一.关键字 编程语言都有一些保留的单词,用于定义该语言,这些单词对于编译器有特殊含义,不能作为标识符使用: Java中的true.false.null这三个保留字,不能作为标识符使用,对于编译器有特殊含义: main是一个用于描述Java程序开始方法的特殊名称,它不是一个关键字: abstract 抽象 boolean 逻辑运算: 布尔 break 打破: 断开 byte 字节: case 例,

JAVA基础——重新认识String字符串

深入剖析Java之String字符串 在程序开发中字符串无处不在,如用户登陆时输入的用户名.密码等使用的就是字符串. 在 Java 中,字符串被作为 String 类型的对象处理. String 类位于 java.lang 包中.默认情况下,该包被自动导入所有的程序. 创建 String 对象有三种方法 String s1="我是字符串1"; String s2=new String();//创建一个空的字符串对象 String s3=new String("我是字符串2&q

第2篇-JAVA基础

第2篇-JAVA基础 每篇一句 :无论处在任何领域中,即使是在小的事情,都要让每一天有所价值 初学心得: 在学习的过程中,错误是很宝贵的,它一笔"财富",更是一种"价值" (笔者:JEEP/711)[JAVA笔记 | 时间:2017-03-24 | JAVA基础] JAVA基础 回顾 在上一篇文章中,最后提到两个问题, 相信读者们已经提前超额完成了"任务" 下面跟着笔者的思路,深入掌握JAVA底层的运行机制 JAVA运行机制 (重中之重) JAV

第4篇-JAVA基础

第4篇-JAVA基础 每篇一句 :世界上本没有完美,但是我们从未放弃追求完美 初学心得: 乐于挥霍的时间,都不能算作浪费 (笔者:JEEP/711)[JAVA笔记 | 时间:2017-04-01| JAVA基础 Ⅳ] 程序运行流程 (1) 顺序结构 (2) 分支结构 (3) 循环结构 (4) break 与 continue关键字 (5) 数组 (6) 方法 1.顺序结构 如果代码里没有流程控制,程序是至上而下一行一行执行的 一条语句执行完之后继续执行下一条语句,直到程序的最后 2.分支结构 顺