Java语言中方法指的是封装了一段特定逻辑功能的,使得程序结构清晰,便于代码复用的代码块。java
修饰词 返回返回值 方法名(参数列表){dom
方法体
}
*1. 返回值类型须要返回结果时使用,无返回结果时使用void
2.参数使用方法处理时灵活 无关紧要
3.有返回值必须写return语句
4.return语句做用:返回结果并结束当前方法*spa
方法名();
方法名(参数值);code
public void say(){ System.out.println("Hello"); } say();//调用
public void say(String str){ System.out.println(str); } say("Hello");//调用
数据类型 变量=方法名();
数据类型 变量=方法名(参数值);blog
public int add(){ int c=3+2; return c; } int d=add();//调用
public int add(int a,int b){ int c=a+b; return c; } int d=add(5,4);//调用
注意事项:有返回值必须加return 并且return语句返回的值类型必须与返回值类型匹配。ip
Java语言流程控制包含了分支结果的控制和循环结构的控制。it
能够把分支结构当作是自来水入户:一个条总线(Main) + 一条/N条分线(If/IF...ELSE/SWITCH...CASE),总线中的水流会按照顺序执行,到达分支(IF...语句)判断是否须要分支(TRUE/FALSE),若是须要水(TRUE)就供水(进入循环),不须要水(FALSE)继续执行代码直至结束。要先作判断再选择的问题就要使用分支结构。io
int num=5; if(num%2==0){ System.out.println(num+"是偶数"); }
IF...ELSE 语句和IF语句差很少,都是走两条路线,它们的区别在于IF...ELSE语句中对另一种语句也进行处理。for循环
if( 条件表达式 ){ ... }else{ ... }
平年闰年class
package com.mtingcat.javabasis.branchstructure03; import java.util.Scanner; /** *分支结构金典案例:平年闰年 * 分支条件: * 1.能被4整除,而且不能被100整除 * 2.能被400整除 * @author MTing * */ public class branchStructureIf { public static void main(String[] args) { System.out.println("年号:"); @SuppressWarnings("resource") Scanner scanner = new Scanner(System.in); int Y = scanner.nextInt(); if(Y%4==0&&Y%100!=0||Y%400==0){ System.out.println(Y + "年是闰年"); } else{ System.out.println(Y + "年是平年"); } } }
if( 条件表达式 ){ ... }else if( 条件表达式 ){ ... }else{ ... }
package com.mtingcat.javabasis.branchstructure03; import java.util.Scanner; /** * 商品打折 * 规则:满10000打7折,满20000打6折,满30000打5折 * @author MTing * */ public class branchStructureIf02_discount { public static void main(String[] args) { System.out.println("消费总额:"); @SuppressWarnings("resource") double price = new Scanner(System.in).nextDouble(); double now = Discount(price); System.out.println(now); } public static double Discount(double price){ if ( price >= 10000 ){ price = price * 0.7; }else if ( price >=20000 ){ price = price * 0.6; }else if ( price > 30000){ price = price * 0.5; } return price; } }
package com.mtingcat.javabasis.branchstructure03; import java.util.Scanner; /** * 按照学生的成绩给学生分等级 * 规则:100<= score >=90 优秀 * 80<= score < 90 良好 * 60<= score < 80 通常 * 0<= score <60 不及格 * @author MTing * */ public class branchStructureIf03_studentScore { public static void main(String[] args) { System.out.println("请输入您的成绩"); @SuppressWarnings("resource") double score = new Scanner(System.in).nextDouble(); if( score <= 100 && score >= 90 ){ System.out.println("您的成绩属于优秀"); }else if( score >= 80 && score < 90 ){ System.out.println("您的成绩属于良好"); }else if( score >= 60 && score < 80 ){ System.out.println("您的成绩属于通常"); }else if( score >= 0 && score < 60 ){ System.out.println("您的成绩属于不及格"); }else{ System.out.println("成绩无效,请从新输入"); } } }
当一个case成立,从这个case向后穿透全部case,包括default,直到程序结束或者遇到break程序才结束。
switch (key) { case value: break; default: break; }
package com.mtingcat.javabasis.branchstructure03; import java.util.Scanner; /** * 数字匹配 * @author MTing * */ public class branchStructureSwitch_dataMarry { public static void main(String[] args) { System.out.println("请输入您的数字"); @SuppressWarnings("resource") int data = new Scanner(System.in).nextInt(); switch (data) { case 1: System.out.println("匹配1"); break; case 2: System.out.println("匹配2"); break; case 3: System.out.println("匹配3"); break; default: System.out.println("匹配错误"); break; } } }
循环指的是在程序中须要反复执行的某个功能的程序代码,由条件判断是否退出循环,根据条件还能够分红先判断后循环,先循环后判断的结构
for (int i = 0; i < args.length; i++) { ... }
package com.mtingcat.javabasis.branchstructure03; /** * 输出在1-1000中5的倍数 * @author MTing * */ public class branchStructureFor01_outPutData { public static void main(String[] args) { for (int i = 0; i < 1000; i++) { if(i % 5 == 0){ System.out.println(i); } } } }
for (int i = 0; i < args.length; i++) { for (int j = 0; j < args.length; j++) { ... } }
package com.mtingcat.javabasis.branchstructure03; /** * 九九乘法表 * @author MTing * */ public class branchStructureFor02_multiplicationTable { public static void main(String[] args) { System.out.println("九九乘法表啊"); for (int i = 1; i < 10; i++) { for (int j = 1; j <= i; j++) { System.out.print(i +"*"+ j +"="+ i*j+"\t"); } System.out.println("\n"); } } }
for (int i = 0; i < args.length; i++) { if(判断条件){ ... break;//若是成立,直接跳出这个for循环 } if(判断条件){ ... continue;//若是成立,跳出本次for循环,进入下一轮 } }
package com.mtingcat.javabasis.branchstructure03; import java.util.Scanner; public class branchStructureFor03_continueBreak { public static void main(String[] args) { System.out.println("Your number:"); @SuppressWarnings("resource") int j = new Scanner(System.in).nextInt(); for (int i = 10; i > 0; i--) { if (j > i) { System.out.println("break"); break; } if (j < i) { System.out.println("continue"); continue; } } } }
先判断后循环
while (en.hasMoreElements()) { type type = (type) en.nextElement(); }
package com.mtingcat.javabasis.branchstructure03; import java.util.Random; import java.util.Scanner; /** * 猜数字 * @author MTing * */ public class branchStructureFor03_guessData { public static void main(String[] args) { System.out.println("猜1-6的随机数字"); int Data = new Random().nextInt(10)+1; while (true) { @SuppressWarnings("resource") int Input = new Scanner(System.in).nextInt(); if(Input > Data){ System.out.println("大了呦"); }else if(Input == Data){ System.out.println("正确"); }else{ System.out.println("小了小了"); } System.out.println("正确答案:" +Data); } } }
先循环后判断
do { } while (condition);
package com.mtingcat.javabasis.branchstructure03; import java.util.Random; import java.util.Scanner; /** * 猜数字 * @author MTing * */ public class branchStructureFor03_guessData { public static void main(String[] args) { System.out.println("猜1-6的随机数字"); int Data = new Random().nextInt(10)+1; do { @SuppressWarnings("resource") int Input = new Scanner(System.in).nextInt(); if(Input > Data){ System.out.println("大了呦"); }else if(Input == Data){ System.out.println("正确"); }else{ System.out.println("小了小了"); } System.out.println("正确答案:" +Data); } while (true); } }