1.条件判断语句
//if语句如果条件为真则执行{}中的语句,或只有一条语句可以不写{}
int i=0;
if(i>=0) {
System.out.println("i>0");
}
//或者,注意如果有多条语句一定要加上{}
if(i>=0)
System.out.println(i);
//if 以及 else if先从if判断若if()中的条件为真则执行if中的语句,如果不为真,则判断else if中的条件是否为真
if(i<0) {
System.out.println("i<0");
}else if(i>=0) {
System.out.println("i>=0");
}
//if else if else语句就是在一次进行条件判断为真则执行,如果判断为真下面的都不再判断
i=2008;
if (i<2000) {
System.out.println("i<2000");
} else if(i<2008){
System.out.println("i<2008同时i>2000");
}else if(i==2008) {
System.out.println("i=2008");
}else
System.out.println("i>2008");
2.选择语句
//switch case选择语句进行从上到下的判断,switch(key)传入要判断的参数,case后面的value值,相当于不同的情况
int day=3;
switch (day) {
case 1:
System.out.println();
break;
case 2:
System.out.println();
break;
case 3:
System.out.println();
break;
default:
break;
}
3.循环语句
// 1.初始值
// 2.循环条件
// 3.变化方向
// 4.结构体
//for循环
//写法一:
for( i=0;i<10;i++) {
System.out.println(i);
}
//写法二:
int j = 0;//作为全局变量
for (; j < 10; j++) {
}
//写法三:
for (j = 0; j < 10; ) {
if(条件) {
j++;
}
}
while(条件) {//先判断再执行 若条件为true则为死循环,需要自己给出break条件
}
do {
}while(条件)//先执行再判断
4.break与continue的区别
break:退出最近的循环体
continue:结束当前循环,进入下一次循环
5.一些简单的举例
import java.util.ArrayList;
import java.util.List;
public class test {
public static void main(String[] args) {
//cf();单循环打印九九乘法表。
//ss();打印10000以内所有的素数。
//fjzys(90); 输入一个正整数,打印分解质因数的结果。例如:输入90,打印出90=2*3*3*5。
//days(2000, 2, 1);输入一个年月日,判断是这一年的第几天。
//lx(5);用 * 打印实心、空心菱形。
//cal("123aaabbb **");分析字符串中的内容,统计字母、数字、空格、其他出现的次数。
//duanwei(765)设计排位积分段位,打印你们自己的段位,要真实!!!
}
//1. 单循环打印九九乘法表。
public static void cf(){
int j=1;
for (int i = 1; i <= 9&&j<=i; j++) {
System.out.print(i+"*"+j+"="+i*j+" ");
if(i==j) {
j=0;
i++;
System.out.println();
}
}
}
//2. 打印10000以内所有的素数。
public static void ss() {
long num=10000;
List<Integer> list=new ArrayList<Integer>();
list.add(2);
list.add(3);
list.add(6);
for (int i = 7; i <=num; i+=((i+2)%5==0)?4:2) {
int m=0;
for (int j =0; j <list.size(); j++) {
if (i%list.get(j)==0) {
m=1;
break;
}
}
if (m==0) {
System.out.println(i);
list.add(i);
}
}
}
//3. 输入一个正整数,打印分解质因数的结果。例如:输入90,打印出90=2*3*3*5。
public static void fjzys(int num) {
int a=num;
int i=2;
System.out.print(num+"=");
while(a!=1) {
if(a%i==0) {
if(a/i!=1)
System.out.print(i+"*");
else {
System.out.print(i);
}
a=a/i;
if(a%i!=0) {
i++;
}
}else {
i++;
}
}
}
//4. 输入一个年月日,判断是这一年的第几天。
public static void days(int year,int month,int day){
int day2;
if(year%4==0&&year%100!=0||year%400==0) {
day2=28;
}else
day2=29;
switch (month) {
case 1:
System.out.println(day);
break;
case 2:
System.out.println(31+day);
break;
case 3:
System.out.println(31+day2+day);
break;
case 4:
System.out.println(31+day2+31+day);
break;
case 5:
System.out.println(31+day2+31+30+day);
break;
case 6:
System.out.println(31+day2+31+30+31+day);
break;
case 7:
System.out.println(31+day2+31+30+31+30+day);
break;
case 8:
System.out.println(31+day2+31+30+31+30+31+day);
break;
case 9:
System.out.println(31+day2+31+30+31+30+31+31+day);
break;
case 10:
System.out.println(31+day2+31+30+31+30+31+31+30+day);
break;
case 11:
System.out.println(31+day2+31+30+31+30+31+31+30+31+day);
break;
case 12:
System.out.println(31+day2+31+30+31+30+31+31+30+31+30+day);
break;
}
}
//5. 用 * 打印实心、空心菱形。
public static void lx(int r){
for (int i = 2*r; i >=0; i--) {
for (int j = 0; j <=2*r; j++) {
if(i+j==r||j-i==r||i-j==r||i+j==3*r) {
System.out.print("*"+" ");
}else
System.out.print(" "+" ");
}
System.out.println();
}
//i+j>=r&&(j-i)<=r&&(i-j)>=r&&(i+j)<=3*r
for (int i = 2*r; i >=0; i--) {
for (int j = 0; j <=2*r; j++) {
if(i+j>=r&&(j-i)<=r&&(i-j)<=r&&(i+j)<=3*r) {
System.out.print("*"+" ");
}else
System.out.print(" "+" ");
}
System.out.println();
}
}
//6. 分析字符串中的内容,统计字母、数字、空格、其他出现的次数。
public static void cal(String str) {
int nums=0;
int chars=0;
int ks=0;
int els=0;
for (int i = 0; i < str.length(); i++) {
char str1=str.charAt(i);
if(str1>='0'&&str1<='9') {
nums++;
}else if(str1>='a'&&str1<='z'||str1>='A'&&str1<='Z') {
chars++;
}else if(str1==' ') {
ks++;
}else
els++;
}
System.out.println("数字个数为:"+nums);
System.out.println("字母个数为:"+chars);
System.out.println("空格个数为:"+ks);
System.out.println("其他个数为:"+els);
}
//7. 设计排位积分段位,打印你们自己的段位,要真实!!!
public static void duanwei(int num) {
if(num>=1000) {
System.out.println("王者大佬");
}else if(num>=800) {
System.out.println("超凡大师");
}else if(num>=600) {
System.out.println("璀璨钻石");
}else if(num>=400) {
System.out.println("华贵铂金");
}else if(num>=300) {
System.out.println("黄金");
}else if(num>=200) {
System.out.println("白银");
}else if(num>=100) {
System.out.println("倔强青铜");
}else {
System.out.println("破铜烂铁");
}
}
}