1.流程控制
1)顺序结构
按照代码编写的顺序执行
示例:
public class Demo01 {
public static void main(String[] args) {
int a = 10;//第1步
int b = 12;//第2步
System.out.println(a + b);//第3步
}
}
2)分支结构
第一种:if语句
示例:
public class Demo01 {
public static void main(String[] args) {
int a = 10;
int b = 12;
if(b > a){
a = b;
}
System.out.println(a);
}
}
第二种:switch语句
注意:需要在每个case语句后加一个break,表示不再执行下去。
示例:
public class Demo01 {
public static void main(String[] args) {
int a = 3;
String p = "";
switch (a) {
case 1:
p = "中国人";
break;
case 2:
p = "美国人";
break;
default:
p = "日本人";
break;
}
System.out.println(p);
}
}
运行结果:
3)循环结构
第一种:while循环
示例:
public class Demo01 {
public static void main(String[] args) {
int a = 1;
while(a < 10){
System.out.println("第" + a + "次循环");
a++;
}
}
}
运行结果:
第二种:do while 循环
示例:
public class Demo01 {
public static void main(String[] args) {
int a = 1;
do{
System.out.println("第" + a + "次循环");
a++;
}while(a < 10);
}
}
运行结果:
第三种:for循环
public class Demo01 {
public static void main(String[] args) {
for(int i = 1; i < 10; i++){
System.out.println("第" + i + "次循环");
}
}
}
运行结果:
4)控制循环结构
第一个:break 跳出最靠近代码的一个循环
第二个:continue 忽略本次循环,本次循环不执行continue后面的代码,进行下一次循环
第三个:return 结束程序
示例:
public class Demo01 {
public static void main(String[] args) {
for (int i = 1; i < 10; i++) {
if (i == 3) {
continue; //不打印i = 3的循环
}
System.out.println("第" + i + "次循环");
if (i == 5) {
break;// 不打印i = 5以后的循环,继续执行下面的代码
}
}
//第二个for循环的i = 5的时候直接结束程序
for (int i = 1; i < 10; i++) {
System.out.println("**************************");
System.out.println("第" + i + "次循环");
if (i == 5) {
return;
}
}
}
}
运行结果:
2.数组
数组只能存储同一类型的数据,是有序可重复的。
1)定义数组
格式一:int[]arrays; 更常用
格式二:intarrays[];
注意:数组是一种引用变量,因此使用他定义一个变量是,仅仅表示一个引用变量,也就是说定义了一个指针,还没有指向任何有效的内存,因此定义数组时还不能指定数组的长度。
2)初始化数组
静态初始化:int[]a1 = new int[]{1,2,3};
动态初始化:int[]a2 = new int[10];
3)遍历数组
使用for循环遍历
示例:
public class Demo01 {
public static void main(String[] args) {
int[] arr = new int[]{1,2,4,7,11,44,12,14};
for(int i = 0; i < arr.length; i++){
System.out.print(arr[i] + " ");
}
}
}
运行结果:
4)引用类型数组和多维数组
引用类型的数组:
示例:
public class Demo01 {
public static void main(String[] args) {
Person p1 = new Person("张三", 15);
Person p2 = new Person("李四", 16);
Person p3 = new Person("王武", 14);
Person[] arr = new Person[3];
//注意数组的索引是从0开始的
arr[0] = p1;
arr[1] = p2;
arr[2] = p3;
for(int i = 0; i < arr.length; i++){
System.out.println(arr[i]);
}
}
}
class Person{
private String name;
private int age;
public Person(String name, int age) {
super();
this.name = name;
this.age = age;
}
public String toString() {
return "Person [name=" + name + ", age=" + age + "]";
}
}
运行结果:
多维数组:int[][] a ;
多维数组实际上也是一维数组,将其拆分即可。
示例:
public class Demo01 {
public static void main(String[] args) {
int[][] arr = new int[][]{{1,12},{5,6}};
int[] b = arr[0];
int[] c = arr[1];
for(int i = 0; i < b.length; i++){
System.out.println(b[i]);
}
for(int i = 0; i < b.length; i++){
System.out.println(c[i]);
}
}
}
运行结果: