狂神说Java
Java流程控制05:Switch选择结构
package struct;
public class SwitchDemo01 {
public static void main(String[] args) {
//case 穿透 //switch 匹配一个具体的值
char grade = 'F';
switch (grade)
{
case 'A':
System.out.println("优秀");
break; //可选
case 'B':
System.out.println("良好");
break;
case 'C':
System.out.println("及格");
break;
case 'D':
System.out.println("再接再励");
break;
case 'E':
System.out.println("挂科");
break;
default:
System.out.println("未知等级");
}
}
}
switch 支持字符串String类型了
Java流程控制06:While循环详解
package struct;
public class WhileDemo01 {
public static void main(String[] args) {
//输出1-100
int i = 0;
while(i++ < 100)
{
System.out.println(i);
}
/*
//死循环
while(true)
{
//等待客户端连接
//定时检查
//........
}
*/
}
}
package struct;
public class WhileDemo03 {
public static void main(String[] args) {
//计算1+2+3+...+100=?
//高斯的故事
int i = 0;
int sum = 0;
while(i++ < 100)
{
sum += i;
}
System.out.println(sum);
}
}
Java流程控制07:DoWhile循环
package struct;
public class DoWhileDemo01 {
public static void main(String[] args) {
int i = 0;
int sum = 0;
do {
sum = sum + i;
i++;
}while(i<=100);
System.out.println(sum);
}
}
Do…while总是保证循环体会被至少执行一次!
先执行后判断
while是先判断后执行
Java流程控制08:For循环详解
package struct;
public class ForDemo01 {
public static void main(String[] args) {
int a = 1; //初始化条件
while(a <= 100)//条件判断
{
System.out.println(a); //循环体
a += 2;// 迭代
}
System.out.println("while循环结束!");
//初始化//条件判断//迭代
for(int i=1;i<=100;i++)
{
System.out.println(i);
}
System.out.println("for循环体结束!");
}
}
for循环是最有效的、最灵活的循环结构
package struct;
public class ForDemo02 {
public static void main(String[] args) {
//练习1:计算0到100之间的奇数和偶数的和
int oddSum = 0;
int evenSum = 0;
for (int i = 0; i < 100; i++) {
if(i%2!=0)//奇数
{
oddSum+=i;
}
else//偶数
{
evenSum+=i;
}
}
System.out.println("奇数的和:"+oddSum);
System.out.println("偶数的和:"+evenSum);
}
}
package struct;
public class ForDemo03 {
public static void main(String[] args) {
//练习2:用while或者for循环输出1-1000之间能被5整除的数,并且每行输出3个
for (int i = 1; i <= 1000; i++) {
if(i%5==0)
{
System.out.print(i+"\t");
}
if(i%(5*3)==0)
{
System.out.println();
//System.out.print("\n");
}
}
//println 输出完会换行
//print 输出完不会换行
}
}
package struct;
public class ForDemo04 {
public static void main(String[] args) {
//打印九九乘法表
for (int j = 1; j <= 9; j++) {
for (int i = 1; i <= j; i++) {
System.out.print(j+"*"+i+"="+(j*i)+" ");
}
System.out.println();
}
}
}
Java流程控制10:增强for循环
Java5引入了一种主要用于数组或集合的增强型for循环
package struct;
public class ForDemo05 {
public static void main(String[] args) {
int[] numbers = {10, 20, 30, 40, 50};//定义一个数组
for (int i = 0; i < 5; i++)
{
System.out.println(numbers[i]);
}
System.out.println("==============");
//遍历数组的元素
for(int x:numbers)
{
System.out.println(x);
}
}
}
Java流程控制11:break、continue、goto
break :用于强行退出循环
continue:用于终止某次循环过程
package struct;
public class BreakDemo01 {
public static void main(String[] args) {
int i = 0;
while(i<100)
{
i++;
System.out.println(i);
if(i==30)
{
break;
}
}
System.out.println("123");
}
}
package struct;
public class ContinueDemo {
public static void main(String[] args) {
int i = 0;
while(i<100)
{
i++;
if(i%10==0)
{
System.out.println();
continue;
}
System.out.print(i);
}
}
}
package struct;
public class LabelDemo {
public static void main(String[] args) {
//打印101-150之间的所有的质数
//质数是指大于1的自然数中,除了1和它本身以外不再有其他因数的自然数
int count = 0;
outer:for(int i=101;i<150;i++)
{
for(int j=2;j<i/2;j++)
{
if(i%j==0)
{
continue outer;
}
}
System.out.print(i+" ");
}
}
}
Java流程控制12:打印三角形及Debug
package struct;
public class TestDemo {
public static void main(String[] args) {
//打印三角形 5行
for (int i = 1; i <= 5; i++) {
for(int j = 5; j >= i; j--)
{
System.out.print(" ");
}
for(int j = 1; j <= i; j++)
{
System.out.print("*");
}
for(int j = 1; j < i; j++)
{
System.out.print("*");
}
System.out.println();
}
}
}
Java方法01:什么是方法?
方法的命名规则:首字母小写,驼峰命名规则
一个方法只完成1个功能,这样有利于我们后期的扩展。
package method;
public class Demo01 {
//main方法
public static void main(String[] args) {
int sum = add(1,2);
System.out.println(sum);
}
//加法
public static int add(int a, int b)
{
return a+b;
}
}
Java方法02:方法的定义和调用
Java的方法类似于其他语言的函数,是一段用来完成特定功能的代码片段。
实际参数:实际调用传递给方法的参数
形式参数:用来定义作用的
package method;
public class Demo02 {
public static void main(String[] args) {
int res = max(10,20);
System.out.println(res);
}
//比大小
public static int max(int num1,int num2)
{
int result;
if(num1 > num2)
{
result = num1;
}
else
{
result = num2;
}
return result;
}
}
package method;
public class Demo02 {
public static void main(String[] args) {
int res = max(10,20);
System.out.println(res);
}
//比大小
public static int max(int num1,int num2)
{
int result;
if(num1 > num2)
{
result = num1;
}
else
{
result = num2;
}
return result;
}
}