Java 基础逻辑判断
来源:互联网 发布:图片搜索引擎 知乎 编辑:程序博客网 时间:2024/05/05 16:44
package org.zhanghua.javase.grammar;
import java.util.Random;
/**
* 逻辑判断 if/else、for、while、do/while、switch
*
* @author ZhangHua
*
*/
public class Logical {
/**
* if if-else if-else if if-else if else
*
* 注意:只有一句话时,可以省略{}
*/
public void testIF() {
int i = 20;
if (i < 20) {
System.out.println("小于20!");
}
else if (i < 40) {
System.out.println("小于40!");
}
else if (i < 60) {
System.out.println("小于60!");
}
else {
System.out.println(">=60!");
}
}
/**
* for fore while do-while
*/
public void testCycle() {
for (int i = 0; i < 10; i++) {
System.out.println("i=" + i);
}
System.out.println("+++++++++++++++++++++++++++");
int[] is = new int[5];
// 初始化is数组
for (int i = 0; i < is.length; i++) {
is[i] = i;
}
for (int i : is) {
System.out.println("i=" + i);
}
System.out.println("+++++++++++++++++++++++++++");
int i = 1;
while (i > 0) {
System.out.println("i=" + i);
i++;
if (i == 10) {
break;
}
}
System.out.println("+++++++++++++++++++++++++++");
int x = 1;
do {
System.out.println("x=" + x);
x++;
if (x == 10) {
break;
}
} while (x > 0);
}
/**
* switch
*
* 注意:只有用于int,short,char,boolean
*/
public void testSwitch() {
Random random = new Random();
int i = random.nextInt(10);
switch (i) {
case 1:
System.out.println("i=1");
break;
case 2:
System.out.println("i=2");
break;
case 3:
System.out.println("i=3");
break;
case 4:
System.out.println("i=4");
break;
case 5:
System.out.println("i=5");
break;
default:
System.out.println("i=" + i);
break;
}
}
/**
* 递归 顾名思义:就是对自己调用
*
* @param args
*/
public int testRecursion1(int i) {
if (i == 1) {
return 1;
}
else {
// i * testRecursion(i - 1)
// 对自己调用,假如i=5-->test(4)-->test(3)-->test(2)-->test(1),然后再返回
return i * testRecursion1(i - 1); // 5*testRecursion(4)=5*4*testRecursion(3)=5*4*3*testRecursion(2)=5*4*3*2*1=120
}
}
/**
* 1、1、2、3、5、8、13 ... Fibonacci数列
*
* @return 结果
*/
public int testRecursion2(int i) {
if (i == 1 || i == 2) {
return 1;
}
else {
// 递归调用,第三个数等于第一个数加上第二个数的和。Fn=Fn-1+Fn-2
return testRecursion2(i - 1) + testRecursion2(i - 2);
/**
* 分析过程: 例如i=5 main-->i=5
* test(5-1)--test(4)--test(3)--test(2)--test(
* 1)--test(1)--test(2)--test
* (1)--test(3)--test(2)--test(1)--test(3)--test(2)--test(1)
*/
}
}
/**
* 使用循环模拟testRecursion2
*
* @param args
*/
public long testRecursion3(int index) {
if (index < 0) {
System.out.println("请输入正确的索引");
return -1; // 或 System.exit(0);
}
if (index == 1 || index == 2) {
return 1;
}
// 1,1,2,3...三个数来回倒置
long f1 = 1L;
long f2 = 1L;
long f = 0;
// f1,f2不用循环,所以少2次循环
for (int i = 0; i < index - 2; i++) {
f = f1 + f2;
f1 = f2;
f2 = f;
}
return f;
}
public static void main(String[] args) {
Logical logical = new Logical();
System.out.println("testIF:");
logical.testIF();
System.out.println("testCycle:");
logical.testCycle();
System.out.println("testSwitch:");
logical.testSwitch();
System.out.println("testRecursion1:");
int resoult = logical.testRecursion1(5);
System.out.println(resoult);
System.out.println("testRecursion2:");
resoult = logical.testRecursion2(5);
System.out.println(resoult);
System.out.println("testRecursion3:");
long number = logical.testRecursion3(40);
System.out.println(number);
}
}
import java.util.Random;
/**
* 逻辑判断 if/else、for、while、do/while、switch
*
* @author ZhangHua
*
*/
public class Logical {
/**
* if if-else if-else if if-else if else
*
* 注意:只有一句话时,可以省略{}
*/
public void testIF() {
int i = 20;
if (i < 20) {
System.out.println("小于20!");
}
else if (i < 40) {
System.out.println("小于40!");
}
else if (i < 60) {
System.out.println("小于60!");
}
else {
System.out.println(">=60!");
}
}
/**
* for fore while do-while
*/
public void testCycle() {
for (int i = 0; i < 10; i++) {
System.out.println("i=" + i);
}
System.out.println("+++++++++++++++++++++++++++");
int[] is = new int[5];
// 初始化is数组
for (int i = 0; i < is.length; i++) {
is[i] = i;
}
for (int i : is) {
System.out.println("i=" + i);
}
System.out.println("+++++++++++++++++++++++++++");
int i = 1;
while (i > 0) {
System.out.println("i=" + i);
i++;
if (i == 10) {
break;
}
}
System.out.println("+++++++++++++++++++++++++++");
int x = 1;
do {
System.out.println("x=" + x);
x++;
if (x == 10) {
break;
}
} while (x > 0);
}
/**
* switch
*
* 注意:只有用于int,short,char,boolean
*/
public void testSwitch() {
Random random = new Random();
int i = random.nextInt(10);
switch (i) {
case 1:
System.out.println("i=1");
break;
case 2:
System.out.println("i=2");
break;
case 3:
System.out.println("i=3");
break;
case 4:
System.out.println("i=4");
break;
case 5:
System.out.println("i=5");
break;
default:
System.out.println("i=" + i);
break;
}
}
/**
* 递归 顾名思义:就是对自己调用
*
* @param args
*/
public int testRecursion1(int i) {
if (i == 1) {
return 1;
}
else {
// i * testRecursion(i - 1)
// 对自己调用,假如i=5-->test(4)-->test(3)-->test(2)-->test(1),然后再返回
return i * testRecursion1(i - 1); // 5*testRecursion(4)=5*4*testRecursion(3)=5*4*3*testRecursion(2)=5*4*3*2*1=120
}
}
/**
* 1、1、2、3、5、8、13 ... Fibonacci数列
*
* @return 结果
*/
public int testRecursion2(int i) {
if (i == 1 || i == 2) {
return 1;
}
else {
// 递归调用,第三个数等于第一个数加上第二个数的和。Fn=Fn-1+Fn-2
return testRecursion2(i - 1) + testRecursion2(i - 2);
/**
* 分析过程: 例如i=5 main-->i=5
* test(5-1)--test(4)--test(3)--test(2)--test(
* 1)--test(1)--test(2)--test
* (1)--test(3)--test(2)--test(1)--test(3)--test(2)--test(1)
*/
}
}
/**
* 使用循环模拟testRecursion2
*
* @param args
*/
public long testRecursion3(int index) {
if (index < 0) {
System.out.println("请输入正确的索引");
return -1; // 或 System.exit(0);
}
if (index == 1 || index == 2) {
return 1;
}
// 1,1,2,3...三个数来回倒置
long f1 = 1L;
long f2 = 1L;
long f = 0;
// f1,f2不用循环,所以少2次循环
for (int i = 0; i < index - 2; i++) {
f = f1 + f2;
f1 = f2;
f2 = f;
}
return f;
}
public static void main(String[] args) {
Logical logical = new Logical();
System.out.println("testIF:");
logical.testIF();
System.out.println("testCycle:");
logical.testCycle();
System.out.println("testSwitch:");
logical.testSwitch();
System.out.println("testRecursion1:");
int resoult = logical.testRecursion1(5);
System.out.println(resoult);
System.out.println("testRecursion2:");
resoult = logical.testRecursion2(5);
System.out.println(resoult);
System.out.println("testRecursion3:");
long number = logical.testRecursion3(40);
System.out.println(number);
}
}
- Java 基础逻辑判断
- java入门基础编-5-逻辑判断语句
- Java逻辑判断,循环
- 逻辑判断
- 逻辑判断
- 【CXY】JAVA基础 之 逻辑控制
- Java基础语法之逻辑控制
- 逻辑基础
- JAVA的逻辑语言——回文字的判断
- Java基础---判断结构示例
- java基础_day0006_判断_switch_case
- java基础_day0007_判断_switch_case_002
- js el表达式在java中判断, jsp 逻辑判断 在java中运行
- JavaScript eval 逻辑判断
- 逻辑判断题--总结
- linux shell 逻辑判断
- 蓝桥杯备战-逻辑判断
- 逻辑判断的代码
- 单元测试宏定义
- Java 基础运算符
- Java 数据类转换
- u-boot编译过程理解
- 重载前置,后置(自增运算符 ++ 和自减运算符 --)
- Java 基础逻辑判断
- HDU 1251 基础的Trie树(字典树)
- JAVA 中文乱码
- 使用Html.RenderAction镶嵌页面(适合经常使用的显示购物车物品数)
- 粤语学习
- 今天看了一下 windows 如何获取流量的接口
- Java opp思想
- 测试
- 关于怎么写软件计划书详细