JAVA自学笔记04

1、switch语句

1)格式:switch(表达式){

case 值1:

语句体1;

break;

case 值2:

语句体2;

break;



default:

语句体n+1

break;

}

2)注意事项:

表达式结果类型:byte/short/int/char/枚举/string

case 后只能跟常量表达式而不能接变量,不能接相同的常量表达式

default可以在任意位置,但它总是最后执行的

switch 语句是以break 语句为结束而不是default

@例题1:模拟做单项选择题。根据选择给出对应的答案

import java.util.Scanner;
class Test{
public static void main(String args[]){
Scanner sc = new Scanner(System.in); int x = sc.nextInt();
char ch = (char)x;
switch(x){
case 'a':
System.out.println('a');
break;
case 'b':
System.out.println('b');
break;
case 'c':
System.out.println('c');
break;
case 'd':
System.out.println('d');
break;
default:
System.out.println("WRONG");
}
}
}

@例题2:键盘录入字符串,根据给定的字符串,来输出你选择的字符串是什么

(键盘导入字符串的方法是:String s = sc.nextLine();)

import java.util.Scanner;
class Test{
public static void main(String args[]){
Scanner sc = new Scanner(System.in); String s = sc.nextLine();
switch(s){
case "Hello":
System.out.println("Hello");
break;
case "Bye":
System.out.println("Bye");
break;
}
}
}

3、循环结构

1)for 循环结构:

格式:for(初始化语句;判断语句;控制条件语句){

语句体

}

其中初始化语句只执行一次,可缺省

判断条件语句必须是布尔类型

循环体语句如果是一条语句可以不加大括号

@例题1:在控制台输出10次HelloWorld

class Test{
public static void main(String args[]){
int x = 1;
for(;x<=10;x++){
System.out.println("HelloWorld");
}
}
}

@例题2:在控制台输出数据1~10

class Test{
public static void main(String args[]){
int x = 1;
for(;x<=10;x++){
System.out.println(x);
}
}
}

@例题3:求出1~10的和

class Test{
public static void main(String args[]){
int sum = 0;
int x = 10;
for(;x>=0;x--){
sum+=x;
}
System.out.println(sum);
}
}

@例题3:求出1~100的偶数和

class Test{
public static void main(String args[]){
int sum = 0;
int x = 100;
for(;x>=0;x=x-=2){
sum+=x;
}
System.out.println(sum);
}
}

@例题4:在控制台输出所有三位的水仙花数,并统计其数目

class Test{
public static void main(String args[]){
int a=0,b=0,c=0;
int temp;
int sum;
int i = 0; for(;a<=9;a++){
for(;b<=9;b++){
for(;c<=9;c++){
sum=a*100+b*10+c;
temp=a*a*a+b*b*b+c*c*c;
if(sum==temp){
System.out.println(sum);
i++;
}
}
c=0;
}
b=0;
}
System.out.println("共有"+i+"个三位的水仙花数");
}
}

@例题5:统计1~1000之间有多少个数:

同时满足:对3整除余2,对5整除余3。对7整除余2

class Test{
public static void main(String args[]){
int x=0;
int i=0;
for(;x<=1000;x++){
if(x%3==2&&x%5==3&&x%7==2){
System.out.println(x);
i++;
} }
System.out.println("共"+i+"个");
}
}

2)while循环结构

格式:初始化语句;

while(判断条件语句){

循环体语句;

控制条件语句;

}

与for的使用区别:

for循环适合针对一个范围判断操作,控制条件语句的那个变量在for循环结束后不能再使用但在while内可以,while适用于判断次数不明的操作。

@例题6:我国最高山峰是珠穆朗玛峰:8848m,现有一张足够大的纸,厚0.01m。请问:对折多少次可以超过珠穆朗玛峰的高度

class Test{
public static void main(String args[]){
double a=0.0001;
double height=8848.0;
int i = 0; for(;a<height;){
i++;
a=a*2;
}
System.out.println("共"+i+"次");
}
}

3)do…while循环

格式:初始化语句;

do{

循环体语句;

控制条件语句;

}while(条件判断语句);

@例题7:输出四行五列的*图案

class Test{
public static void main(String args[]){
int x=1,y=1;
for(;y<=4;y++){ for(;x<=5;x++){
System.out.print("*");//不换行的屏幕输出
}
x=1;
System.out.print('\n');
}
}
}

@例题8:屏幕输出高为6底为6的直角三角形

class Test{
public static void main(String args[]){
int x=1;
int y=x;
for(;x<=6;x++){
for(;y<=x;y++){
System.out.print("*");
}
y=1;
System.out.println('\n');
}
}
}

@例题9:屏幕输出九九乘法表

class Test{
public static void main(String args[]){
int x=1;
int y=x; for(;x<=9;x++){
for(;y<=x;y++){
int temp=x*y;
System.out.print(x+"*"+y+"="+temp+" ");
}
y=1;
System.out.print('\n');
}
}
}

4、break语句

1)使用在选择结构switch或循环语句中,离开使用场景是没有意义的。

2)跳出多层循环:带标签的语句:格式:

标签名:语句

break 标签名;

5、continue 语句

1)使用在循环结构中

2)跳出一次循环,执行下一次循环

6、return语句

常用于结束一个方法,即退出一个方法

@例题10:小芳存钱问题:小芳的妈妈每天都会给小芳2.5元钱,她都会存起来,但如果到了天数为5的倍数的时候,她会花掉6元,问小芳再低几天可以村存够100元钱?

class Test{
public static void main(String args[]){
double x=0;
int i=0;
for(;;){i++;
x+=2.5;
if(i%5==0){
x-=6;
}
if(x>=100){
break;
}
}
System.out.println(i);
}
}

JAVA自学笔记04的更多相关文章

  1. JS自学笔记04

    JS自学笔记04 arguments[索引] 实参的值 1.对象 1)创建对象 ①调用系统的构造函数创建对象 var obj=new Object(); //添加属性.对象.名字=值; obj.nam ...

  2. JAVA自学笔记09

    JAVA自学笔记09 1.子类的方法会把父类的同名方法覆盖(重写) 2.final: 1)可修饰类.方法.变量 2)修饰类时:此时该类变为最终类,它将无法成为父类而被继承 3)修饰方法时:该方法将无法 ...

  3. JAVA自学笔记05

    JAVA自学笔记05 1.方法 1)方法就是完成特定功能的代码块,类似C语言中的函数. 2)格式: 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2,-){ 函数体; return ...

  4. JAVA自学笔记06

    JAVA自学笔记06 1.二维数组 1)格式: ①数据类型[][]数组名 = new 数据类型[m][n]; 或 数据类型[]数组名[]=new 数据类型[m][n]; m表示这个二维数组有多少个一维 ...

  5. JAVA自学笔记07

    JAVA自学笔记07 1.构造方法 1) 例如:Student s = new Student();//构造方法 System.out.println(s);// Student@e5bbd6 2)功 ...

  6. JAVA自学笔记10

    JAVA自学笔记10 1.形式参数与返回值 1)类名作为形式参数(基本类型.引用类型) 作形参必须是类的对象 2)抽象类名作形参 需要该抽象类的子类对象,通过多态实现 3)接口名为形参 需要的是该接口 ...

  7. JAVA自学笔记13

    JAVA自学笔记13 1.StringBuffer类 1)线程安全的可变字符序列 线程安全(即同步) 2)StringBuffer与String的区别:一个可变一个不可变 3)构造方法: ①publi ...

  8. JAVA自学笔记11

    JAVA自学笔记11 1:Eclipse的安装 2:用Eclipse写一个HelloWorld案例,最终在控制台输出你的名字 A:创建项目 B:在src目录下创建包.cn.itcast C:在cn.i ...

  9. JAVA自学笔记14

    JAVA自学笔记14 1.正则表达式 1)是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串.其实就是一种规则.有自己的特殊应用 2)组成规则: 规则字符在java.util.rege ...

随机推荐

  1. es6 let和const

    一.let 1.let块作用域 if(true){ var a=1; let b=2; } console.log("a:"+a);//a:1 console.log(" ...

  2. bzoj 松鼠的新家

    哈夫曼距离与切比雪夫距离的转化

  3. cf666 C. Codeword 组合数学

    题解: 首先暴力很显然 f[i][j]表示到第i个位置,串匹配到j 这样每次是n^2的 我们假设每个位置匹配的第一个位置 然后从这个到上一个位置一定不能等于这个串的值 ans=simga{i,C(i- ...

  4. sendEmail 阿里云使用587端口

    使用sendEmail使用参数   -o tls=yes -s smtp服务器+端口 因为阿里云屏蔽了25端口,我使用465也不成功,只有使用587端口,我使用的qq企业邮箱,测试可用

  5. Failed to create Accelerated Display. Please check the display hardware and drivers meet the minimum requirements.

    ArcGIS Runtime for WPF开发中Map设置了属性UseAcceleratedDisplay="True",报错: Sample: LocalMap Error: ...

  6. Python_logging模块

    日志:方便用户了解系统.软件或应用的运行情况,及时发现问题并快速定位.解决问题. 一个日志信息对应的是一个事件的发生,而一个事件需要包括的几个内容: 事件发生时间 事件发生位置 事件发生严重程度(日志 ...

  7. 远程连接mongodb服务器

  8. 普林斯顿微积分读本 大纲与重点 (by zzd)

    普林斯顿微积分读本 大纲重点 由于博客园太菜,所以我用图片上传. 当前更新状态:未完待续,挖坑暂时不填了. UPD(2018-07-08): 稍微更一下,加一个本书的某一版本下载链接:https:// ...

  9. quratz线程

    1.线程 在 Quartz 中,有两类线程,Scheduler 调度线程和任务执行线程,其中任务执行线程通常使用一个线程池维护一组线程. 2.调度线程 下面说明两种调度线程: Scheduler 调度 ...

  10. day27 软件开发规范,以及面相对象回顾

    面向对象所有内容回顾: # 面向对象 # 类 :一类具有相同属性和方法的事物 #类的定义:class #类中可以定义的方法种类: #普通方法 self 对象 #类方法 cls @classmethod ...