在循环中i++为每次加1 如果想要一次加多个例如5 可以写为i+=5,也就是i=i+5
循环常用例题:水仙花数(自闭花)求100~999之间 各位数字的立方等于该数字的本身
例如153:1*1*1+5*5*5+3*3*3==153
public static void main(String[] args){
//求100~999之间的水仙花数
int b=0;//全局变量
for(int i=100;i<1000;i++){//方法体
int a=i%10;//求个位
int b=i/10%10;//求十位 局部变量
int c=i/100;//求百位
if(a*a*a+b*b*b+c*c*c==i){
System.out.println(i);
b++;
}
} System.out.println("一共有"+b+"个水仙花数");
}
注意事项:for后面的大括号属于方法体,在一个方法体内定义的变量只能在这个方法体内使用
Java语言基础(方法):
为什么要有方法:提高代码的复用性
什么是方法:完成特定功能的代码块
方法的格式:
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...){
方法语句体;
return 返回值;}
return返回值:结束方法的,将返回值给调用者
方法类型:1.有参有返,2.有参无返,3.无参无返,4.无参有返
注意事项:1.方法要写在类中,与main方法平级,不要写在main方法内
2.一个方法只有一个返回值,返回值类型需要和方法中定义的返回值类型相同
方法调用(有具体返回值)
3.单独调用一般没有意义,不推荐
4.输出调用,不建议,因为我们可能需要针对结果进行进一步操作
5.赋值调用,推荐!
6.方法不调用不执行
7.方法与方法是平级关系,不能嵌套定义
8.方法定义的时候参数之间用逗号隔开
9.方法调用的时候不用再传递数据类型
10. 如果方法有明确的返回值那么一定要用return带回一个值
方法参数:实际参数(实际参与运算的),形式参数(方法定义上的,用来接收实际参数)
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
System.out.println("请输入第一个数字:");
int num1=sc.nextInt();
System.out.println("请输入第二个数字:");
int num2=sc.nextInt();
//调用有参无返a方法
a(num1,num2);//在main方法中调用时 a方法中的参数才是 实际参数
//调用有参有返b方法1
int result=b(num1,num2);
System.out.println("调用有参有返sum方法1:"+result+"\t开发过程中建议用方法1");
//调用有参有返b方法2
System.out.println("调用有参有返sum方法2:"+b(num1,num2));
//调用有参有返c方法
String name=c("木舟");
System.out.println("调用有参有返c方法:"+name);
//调用无参无返d方法
d();
//调用无参有返e方法
e();
System.out.println("调用无参有返e方法:"+e());
}
//int a,int b 为 形式参数 也就是假的
//有参无返
public static void a(int a,int b){
int i=a+b;
System.out.println("调用有参无返sum方法:"+i);
}
//有参有返方法1
public static int b(int a,int b){
int i=a+b;
return i;
}
//有参有返方法2
public static String c(String name){
return name;
}
//无参无返
public static void d(){
System.out.println("调用无参无返d方法:你好木舟");
}
//无参有反
public static String e(){
return "true";
}
各数据类型初始化的值为:
1.int初始化的值为0
2.String初始化的值为" " 也就是null
3.boolean初始化的值为false
方法重载
方法重载概述:形式参数的个数或参数类型,参数顺序(开发中不建议使用)不一样都构成重载 重载与返回值类型无关
public static void main(String[] args) {
double g=add(1.6,2);
System.out.println(g);
}
public static double add(double a,int b){
System.out.println("调用double方法");//先执行方法内的再返回参数
return a+b;
}
public static int add(int a,int b){
int c=a+b;
return c;
}
public static int add(int a,int b,int c){
int d=a+b+c;
return d;
}
public static int add(int a,int b,int c,int d){
int e=a+b+c+d;
return e;
}