结构
顺序结构
顺序结构,是Java的基本结构,按从上到下的顺序进行。是一种基本的算法结构。
public static void main(String[] args) {
System.out.println("hello1");
System.out.println("hello2");
System.out.println("hello3");
System.out.println("hello4");
System.out.println("hello5");
System.out.println("hello6");
}
选择结构
if单选择
if(布尔表达式){
//布尔表达式为true时,将执行的语句
}
if双选择
if(布尔表达式){
//布尔表达式为true时,将执行的语句
}else{
//布尔表达式为false时,将执行的语句
}
if多选择
if(布尔表达式1){
//布尔表达式1为true时,将执行的语句
}else if(布尔表达式2){
//布尔表达式2为true时,将执行的语句
}else{
//上述布尔表达式都不满足时,将执行的语句
}
嵌套的if结构
if(布尔表达式1){
//布尔表达式1为true时,将执行的语句
if(布尔表达式2){
//布尔表达式2为true时,将执行的语句
}
}else{
//上述布尔表达式都不满足时,将执行的语句
}
switch多选择
switch(expression){
case value:
//语句
break;//跳出
case value:
//语句
break;
default:
//语句
}
public static void main(String[] args) {
char grade = 'c';
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;
default:
System.out.println("未知");
}
}
!!!break非常重要,如果丢失,会进入下一个语句
--java SE 7——switch支持String字符串类型
因为字符的本质是数字,java编译完成后比较hashcode。通过比较目标值与对应可选值的哈希值来比较实现!!
循环结构
while循环
public static void main(String[] args) {
int a=0;
while (a<0){
System.out.println(a);
a++;
}
System.out.println("-----------");
do {
System.out.println(a);
a++;
}while (a<0);
do……while循环
相比while,do……while至少执行一次
for循环
for循环是最有效、最灵活的循环结构。
for(初始化;布尔表达式;更新){
//代码语句
}
public static void main(String[] args) {
//九九乘法表
for (int i =1; i <9; i++) {
for (int j = 0; j < i; j++) {
System.out.print(i+"*"+j+"="+(i*j)+" ");
}
System.out.println();
}
}
增强For循环
for(声明语句:表达式){
//代码语句
}
主要是用于数组和集合的
public static void main(String[] args) {
int[] numbers = {10,20,30,40,50};//定义数组
for(int x:numbers){
System.out.println(x);
}
System.out.println("-----------------------");
for (int i = 0; i <numbers.length; i++) {
System.out.println(numbers[i]);
}
}
break
跳出整个循环,继续循环后面的代码部分
continue
跳过本次循环,继续下一次
标签
例如:label:——————是goto的影子。goto是java的保留字,但其会破坏结构性,不建议使用。标签同理。
public static void main(String[] args) {
//101-150之间的质数
outer:for (int i =100; i <= 150; i++) {
for (int j = 2; j < i/2; j++) {
if (i%j==0){
continue outer;
}
}
System.out.print(i+" ");
}
}
输出三角形
思想:
- 左上角是第一块,控制输出的空格
- 在输出左边一半的三角形
- 输出右边的三角形
public static void main(String[] args) {
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();
}
}