do while循环
语法:
do{
//循环体
}while(条件表达式);

注:它是先执行循环体,后再判断的循环结构。

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

---
do while一般用在“交互式”的界面循环中。
案例:

--------------------------
break语句与continue语句
break可以用在:
1). switch语句中, 表示退出某个case块
2). 循环中, 表示 打破最接近于自己所在的那一层循环。

continue语句用在:
1). 循环中, 表示结束本轮循环[最接近于自己所在的那一层循环],开始下一轮

如:
for(int i=1;i<=9;i++){
if(i % 3 == 0){
//break; //i=1,i=2
continue; //i=1,2,4,5,7,8
}
System.out.println("i = "+i);
}
------------
课堂作业:
1. 设计一个程序,提示用户输入一个整数,并计算出这个整数的阶乘。

2. 设计一个程序,输出200以内所有的素数[质数]

3. 设计一个程序,打印出1000以内所有的完备数[完美数]
完备数是指某个数刚好等于它的所有约数之和[不含自己]
如:6 = 1+2+3

--------------------------------------------------------------
格式化输出 [printf 方法]
方法:
//普通输出
System.out.println(String output);
System.out.print(String output);
//格式化输出
System.out.printf(String ouput,Object... args);

如:
int i = 5;
int j = 17;
//
System.out.println("i = "+i+",j = "+j);
//格式化输出
System.out.printf("i = %d,j = %d\n",i,j);

==
占位符的语法:
%[argument_index$][flag][width][.precision]conversion
常用的conversion有:
d 代表 整数
f 代表 浮点数
b 代表 布尔型
s 代表 字符或字符串
t 代表 日期或时间
...

width 代表这个占位符所占用的位宽。

.precision 代表的是小数位。

flag 代表 标记位
- 表示左对齐。
...

--
案例:

====================
方法[method]
定义:是一小块功能的集合,每个方法都有它的输入与输出,所以,一个
好的方法是一个相对独立的、完整的小功能。

方法的组成部份:[语法]
[修饰符] 返回类型 方法名([参数列表]) [throws 异常类型] {
//方法体
}
--
修饰符 [modifier]
1.访问控制修饰符
所有类 子类 同包 本身
public Y Y Y Y
protected N Y Y Y
[default] N N Y Y
private N N N Y

2. 特殊修饰符
static 静态
abstract 抽象
final 最终
synchronized 同步
native 本地
...
方法可以添加多个修饰符,修饰符之间没有顺序。
所以:
public static void main(String[] args){ }

static public void main(Stirng[] args){ }

---
返回类型 【return type】
所有的合法的数据类型都可以做为方法的返回类型。
除此以外,还有一个特殊类型: void 也可以做为方法的返回类型。

如果方法的返回类型被设计成 void,则表示此方法没有返回值,也就是
说,在方法体中,可以没有 return 语句。
如果方法的返回类型不是void,则表示此方法一定有返回值,也就是说,
在方法中,一定要有 return 语句。

思考: 在设计方法时,如何确定方法的返回类型?

--
方法名 【method name】
就是一个方法的名字代号。
方法名应该能够表达出此方法的主要功能。

--
参数列表 【parameter list】
方法的参数,也叫形参,其实本质上就是 局部变量[local variable]

参数语法:
数据类型 形参名

多个参数之间使用逗号隔开.

注:形参【形式上的参数】是没有实际值的。它只有类型。
只有当此方法被调用[invoke]时,形参才会被"实参"赋值.

如:
public class Hehe{
public int add(int a, int b){
int c = a + b;
return c;
}
public static void main(String[] args){
Hehe h = new Hehe();
int result = h.add(5,19); //ok
}
}
//方法的调用:
1).通过 类名.方法名 来调用, 要求此方法必需使用 static 修饰
如:
double d = Math.random(); //类名.方法名

2). 通过 对象.方法名 来调用,此方法没有用 static 修饰
如:
Scanner sc = new Scanner(System.in); //创建对象
int i = sc.nextInt(); //对象.方法名
--------------

例:
完成作业2,以方法的思路来完成:
设计第一个方法,用来判断给定的整数是否是素数
public boolean isPrime(int n){
//...
}
再设计一个方法,负责打印输出指定范围内的素数
public void printPrime(int max){
//....
...
if(isPrime(i)){ // 直接调用

}
}
//最后,在main 方法中调用
public static void main(String[] args){
XXX x = new XXX();
int a = 200;
x.printPrime(a);
}

-------------
作业.
完成猜数字游戏

Java笔记4-do while循环,break,修饰符,方法的调用的更多相关文章

  1. Java学习笔记(4)----Public,Protected,Package,Private修饰符可见性

    Java修饰符类型(public,protected,private,friendly) public的类.类属变量及方法,包内及包外的任何类均可以访问:protected的类.类属变量及方法,包内的 ...

  2. Java学习笔记:04面向对象-内部类_访问修饰符_final

    04面向对象-内部类/访问修饰符/final 1.static的介绍 static:关键字,静态的 static的作用是用来修饰类中的成员 2.访问一个类中的某一个成员变量 方法一: _1.创建对象 ...

  3. Java基础笔记(7)----三个修饰符

    abstract抽象 方法 抽象方法:abstract修饰的方法,只有声明 而没有方法的实现(连{}都没有). 语法:修饰符 返回值类型 方法名(形参列表); 注意:抽象方法 必须定义在 抽象类中. ...

  4. java学习笔记12(final ,static修饰符)

    final: 意思是最终的,是一个修饰符,有时候一个功能类被开发好了,不想被子类重写就用final定义, 用final修饰的最终数据成员:如果一个类的数据成员用final修饰符修饰,则这个数据成员就被 ...

  5. 【Java并发编程】:volatile变量修饰符

    volatile用处说明     在JDK1.2之前,java的内存模型实现总是从主存(即共享内存)读取变量,是不需要进行特别的注意的.而随着JVM的成熟和优化,现在在多线程环境下volatile关键 ...

  6. Java基础之数据类型、内存、修饰符、代码块

    Java 数据类型 基本数据类型 数值:int.short.long 字符:char 布尔:boolean 引用数据类型 class(类) interface(接口) 数组[] 所占字节数(1 byt ...

  7. 简单的描述Java中的构造函数,及访问修饰符

    作为一个Java 初学者,对Java的理解可能有些片面,甚至有些错误的理解,对于观看此处的您,希望您选择性观看!!! 访问修饰符: 1.常用访问修饰符: public 共有的 private 私有的 ...

  8. Java知多少(19)访问修饰符(访问控制符)

    Java 通过修饰符来控制类.属性和方法的访问权限和其他功能,通常放在语句的最前端.例如: 1 public class className { 2 // body of class 3 } 4 pr ...

  9. java的访问控制(包、访问修饰符、修饰符)

    一.     java的类包 编写好一个源程序后,首先要执行javac命令进行编译源文件,并生成与源文件同名后缀为“.class”的字节码文件(类文件),该类文件与源文件默认在同一个目录中.该类文件是 ...

随机推荐

  1. QT mainwindow四件套

    最近在学习QT.下面总结一下mainwindow的设置步骤. 使用的平台为vs2013+qt5.3.2+qt-vs-addin1.2.3 1)安装软件 首先安装vs2013,这个不多介绍. 然后安装q ...

  2. MFC编程入门之十(对话框:设置对话框控件的Tab顺序)

    前面几节为大家演示了加法计算器程序完整的编写过程,本节主要讲对话框上控件的Tab顺序如何调整. 上一讲为"计算"按钮添加了消息处理函数后,加法计算器已经能够进行浮点数的加法运算.但 ...

  3. ReentRantLock使用

    synchronized原语和ReentrantLock在一般情况下没有什么区别,但是在非常复杂的同步应用中,请考虑使用ReentrantLock,特别是遇到下面2种需求的时候. 1.某个线程在等待一 ...

  4. 运行Python脚本的方法

    1.安装完Python后,添加环境变量---在系统变量中找到Path ,点击编辑把你的python安装目录放到里面,注意环境变量之间用";"隔开.打开CMD,在CMD命令行中,输入 ...

  5. linux修改密码的几种方法

    1.  启动电脑 ,进入grub模式.  也就是下面这个模式: 按下e键,进入下面这个画面.... 选第二个(kernel的那个):  然后按下e键之后进入 下面这个版面: 之后敲入  single ...

  6. WinForm程序打包说明

    如果使用的是VS2013需要下载并安装 Microsoft Visual Studio 2013 Installer Projects 下载地址:https://visualstudiogallery ...

  7. linux 下mysql 字段插入的值超过 预设大小报错

    其原因 是 STRICT_TRANS_TABLES  决定了 如果超出字段大小,则不会截取 ,直接报错. 到/etc/my.cnf   删除 STRICT_TRANS_TABLES   就可以了 sq ...

  8. java 多线程编程三种实现方式

    一种是继承Thread类,一种是实现Runable接口,还有一种是实现callable接口: 有博主说只有前面2种方式,我个人愚见是三种,主要详细介绍下callable的使用: 三种线程的我的个人理解 ...

  9. 横竖屏切换时候Activity的生命周期的总结

    1.新建一个Activity,并把各个生命周期打印出来 2.运行Activity,得到如下信息 onCreate--> onStart--> onResume--> 3.按crtl+ ...

  10. stopPropagation, preventDefault 和 return false

    e.stopPropagation()此方法用于阻止事件冒泡或者事件捕获.IE8及以下中没有此方法,使用e.cancelBubble=false 来阻止事件冒泡. 当标准W3C中,事件包括捕获阶段和冒 ...