/*
* 编写for循环1-100所有的数
* 素数
* 知识点:
* for循环
* 嵌套
* 标记
* */
public class helloword {
public static void main(String[] args) {
for(int i=2;i<=100;i++) {
//判断i是否为素数
boolean isSuShu=true;//[标记在开发中比较常用]
for(int j=2;j<i;j++) {
if(i%j==0) {
isSuShu=false;
break;
}
}
if(isSuShu)
System.out.println(i);
}
}
}
升级版
两种方式统计
- 整除
- 归零
public class helloword {
public static void main(String[] args) {
//升级版:【加入统计机制】
int count=0;
for(int i=2;i<=100;i++) {
//判断i是否为素数
boolean isSuShu=true;//[标记在开发中比较常用]
for(int j=2;j<i;j++) {
if(i%j==0) {
isSuShu=false;
break;
}
}
//采用整除方式统计
if(isSuShu)
{
System.out.println(i+"");
count++;
//每8个换行
if(count%8==0) {
System.out.println();
}
}
//采用归零方式统计
/*if(isSuShu)
{
System.out.println(i+"");
count++;
//每8个换行
if(count==8) {
System.out.println();
//归零
count=0;
}
}
*/
}
}
方法
- 方法的基础语法
- 方法的重载机制
引入:
不使用方法
public class helloword {
public static void main(String[] args) {
//10+20的和
int a=10;
int b=20;
int c=a+b;
System.out.println(a+"+"+"b"+"="+c);
//20+30的和
int x=100;
int y=200;
int z=a+b;
System.out.println(x+"+"+"y"+"="+z);
//以上2个需求就是一个需求,功能相同,只是数据不一样
}
}
以上2个需求就是一个需求,功能相同,只是数据不一样
在java中有一种机制:
功能相同的代码写一次,只需给代码传递具体数据
使用这个方法为 **调用**
使用这个方法
代码重复使用
public class helloword {
public static void main(String[] args) {
//计算两个数的和
helloword.sumInt(10,20);
helloword.sumInt(100,200);
}
//单独定义一个方法
//该方法完成两个int数据的和,并将结果输出
public static void sumInt(int a,int b) {
int c=a+b;
System.out.println(a+"+"+b+"="+c);
}
}
方法的本质:(c语言中函数)
方法就是一段代码片段,并且这段代码片段可以完成某个特定的功能,并且可以重复只用。
- 方法定义在类体中,在一个类中可以有多个方法,
- 方法体中不能再定义方法。
- 方法编写的位置没有先后顺序。
- 方法体中的代码自上而下依次执行。
1.方法怎么定义,语法结构
{修饰符列表}返回值类型 方法名{形式参数列表}{
方法体;}
1.1修饰符列表
- 可选项,不是必须的
- 目前统一写:public static
- 方法修饰符列表中有static关键字,怎么调用这个方法
- 类名.方法名(实际参数列表);
1.2 返回值类型
什么是返回值:
一个方法是可以完成某个特定功能的,这个功能结束后需要返回最终执行的结果,执行结果可能是一个具体存在的数据,而这个具体存在的数据就是返回值
-
返回值有具体数据类型(任意一种都可以,包括引用数据类型)
-
也可能不返回结果,则必须编写 void关键字,如不是,则必须返回一个具体的数值,否则报错。
-
返回值类型是void 的时候,在方法中不能编写 return 值; 这样的语句,可以编写 return;这样的语句
-
只要带有return关键字的语句执行,return语句所在的方法结束
-
一个方法有返回值,可以选择不接受,但是大部分情况我们会接受
1.3方法名
- 见名知意
- 驼峰命名原则
- 合法标识符
- 最好是动词
- 首字母小写,后面每个单词的首字母大写
1.4方法体
- 必须用大括号
- 方法体中代码自上而下
- 分号结束
1.5形式参数列表
- 形参是局部变量
- 个数可多个
- 形参之间用逗号隔开
- 形参中取决定作用是形参的数据类型,形参的名字就是局部变量的名字
- 方法在调用的时候,实际给这个方法传递的真的hi数据被称为:实际参数
- 实参列表和形参列表满足数量相同,数据类型对应相同类型不同时 可以自动类型转换
//public表示公开的
//class表示定义类
//text表示一个类名
public class text {
//类体
//类体中不能直接编写java语句,除声明变量外
//方法出现在类体中
//方法
//public表示公开的
//static表示静态的
//String[] args String表示数据类型,arg[]一个局部变量名可以是随意的
public static void main(String[] args) {
// TODO 自动生成的方法存根
}
}
深入return语句
- 带有retur关键字,只要执行,现在的方法就结束
- 在同一个作用域中 return 语句下面不能编写任何代码,因为这些代码永远执行不到,会编译报错
//编译报错,以下程序缺少返回语句,编译器认为无法百分百保证 “return 1”会执行
public static int m() {
int a=10;
if(a>3) {
return 1;
}
}
// if……else 一定会执行其中一个
public static int m() {
int a=10;
if(a>3) {
return 1;
}
else{
return 0;
}
}
方法的调用:
- 1.方法的修饰符中有static关键字,完整的调用方式是:类名.方法名
- 2.但是,有时候“类名可以省略”,对于方法的修饰符列表当中有static关键字的,可省,省略后,默认从当前(同一)类中找方法
- 3.调用方法必须带括号
- 建议在一个java源文件中只定义一个class文件
在返回值类型是void方法 使用return 语句,主要是为了终止语句,无法返回值。