1 方法
Java语言中方法指的是封装了一段特定逻辑功能的,使得程序结构清晰,便于代码复用的代码块。
1.1 语法:
修饰词 返回返回值 方法名(参数列表){
方法体
}
*1. 返回值类型需要返回结果时使用,无返回结果时使用void
2.参数使用方法处理时灵活 可有可无
3.有返回值必须写return语句
4.return语句作用:返回结果并结束当前方法*
1.2 无返回值方法
方法名();
方法名(参数值);
public void say(){
System.out.println("Hello");
}
say();//调用
public void say(String str){
System.out.println(str);
}
say("Hello");//调用
1.3 有返回值方法
数据类型 变量=方法名();
数据类型 变量=方法名(参数值);
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语句返回的值类型必须与返回值类型匹配。
2 流程控制
Java语言流程控制包含了分支结果的控制和循环结构的控制。
2.1 分支结构
可以把分支结构看成是自来水入户:一个条总线(Main) + 一条/N条分线(If/IF...ELSE/SWITCH...CASE),总线中的水流会按照顺序执行,到达分支(IF...语句)判断是否需要分支(TRUE/FALSE),如果需要水(TRUE)就供水(进入循环),不需要水(FALSE)继续执行代码直至结束。要先做判断再选择的问题就要使用分支结构。
2.1.1 IF 单分支
结构图
案例
int num=5;
if(num%2==0){
System.out.println(num+"是偶数");
}
2.1.2 IF...ELSE 多分支
IF...ELSE 语句和IF语句差不多,都是走两条路线,它们的区别在于IF...ELSE语句中对另外一种语句也进行处理。
结构图
形式
if( 条件表达式 ){
...
}else{
...
}
案例
平年闰年
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 + "年是平年");
}
}
}
2.1.3 IF...ELSE IF 嵌套分支
结构图
形式
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("成绩无效,请重新输入");
}
}
}
2.1.4 SWITCh CASE 语句
当一个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;
}
}
}
2.2 循环结构
循环指的是在程序中需要反复执行的某个功能的程序代码,由条件判断是否退出循环,根据条件还可以分成先判断后循环,先循环后判断的结构
2.2.1 FOR 单循环
结构图
形式
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);
}
}
}
}
2.2.2 FOR 嵌套循环
结构图
形式
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");
}
}
}
2.2.3 CONTINUE 和 BREAK
形式
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;
}
}
}
}
2.2.4 WHILE 循环
先判断后循环
结构图
形式
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);
}
}
}
2.2.3 DO...WHILE 循环
先循环后判断
形式
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);
}
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。