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. jQuery中ajax如何返回值到上层函数里?

    这个涉及到js的异步执行了,程序本身是同步执行的,到了getJSON这里的时候,这个函数是异步的,而 load_val这个函数是同步的,你需要这样来异步返回这个值 function load_val( ...

  2. zTree的使用教程

    1.首先去官网下载http://www.ztree.me/v3/main.php#_zTreeInfo 2.之后引入: <script src="js/jquery.ztree.all ...

  3. 【Codeforces】Codeforces Round #551 (Div. 2)

    Codeforces Round #551 (Div. 2) 算是放弃颓废决定好好打比赛好好刷题的开始吧 A. Serval and Bus 处理每个巴士最早到站且大于t的时间 #include &l ...

  4. HTTP.sys远程执行代码漏洞

    远程执行代码漏洞存在于 HTTP 协议堆栈 (HTTP.sys) 中,当 HTTP.sys 未正确分析经特殊设计的 HTTP 请求时会导致此漏洞. http://bbs.safedog.cn/thre ...

  5. net core体系-web应用程序-4net core2.0大白话带你入门-7asp.net core日志组件(Logger和Nlog)

    asp.net core日志组件   日志介绍 Logging的使用 1. appsettings.json中Logging的介绍 Logging的配置信息是保存在appsettings.json配置 ...

  6. Codeforces 935E Fafa and Ancient Mathematics dp

    Fafa and Ancient Mathematics 转换成树上问题dp一下. #include<bits/stdc++.h> #define LL long long #define ...

  7. Mysql my.cnf配置文件记录

    一.参数 1.max_binlog_size = 1G      #binlog大小 2. #slave不需要同步数据库 binlog-ignore-db=information_schema bin ...

  8. day6 note 字典的增删改查(以及setdefault用法补充)

    今天的内容主要是join的用法和字典的用法,由于已经有前面的列表作为基础,所以还比较简单,不过因为昨天的作业比较难也比较多,所以作业的讲解占用的时间比较长.我需要好好消化一下作业的部分. 思维导图: ...

  9. MarkdownPad 2在win10上安装及破解(含安装包)

    MarkdownPad 2 是一款较不错的Markdown编辑器,可快速将文本转换为美观的HTML/XHTML的网页格式代码,且操作方便,用户可以通过键盘快捷键和工具栏按钮来使用或者移除Markdow ...

  10. 上传前端webuploader

    多文件上传时,是有几个文件调用几次方法. 可以设置为单线程.