JAVA基础学习博客
学习目标:
掌握今日学习内容并理解,可以用自己语言描述,可以自己验证过程
学习内容:
1.构造代码块和静态构造代码块
2.数组的语法(写法)和多维嵌套
学习时间:
2020 11/9 night
学习产出:
(1)构造代码块和静态构造代码块
调用
public class Codeblock {
public static void main(String[] args) {
User user = new User();
user.show();
}
}
类
public class User {
private int age;
static {
System.out.println("构造代码块---01");
}
public User() {
System.out.println("无参构造器03");
}
{
System.out.println("构造代码块---02");
}
public User(int age) {
System.out.println("构造器04");
this.age = age;
}
public void show() {
System.out.println("show05");
}
public static void run() {
System.out.println("show06");
}
}
输出结果:
构造代码块---01
构造代码块---02
无参构造器03
show05
总结:
- 构造代码块的初始化比构造器的初始化时机早
- 直接在属性上进行初始化的时机比构造代码块早
(2)数组的语法(写法)和多维嵌套
下附验证过程以及每个方法所输出结果:
public class text {
public static void main(String[] args) {
homework4();
}
/**
* 定义两个类构建数组容器,每个数组包含三个对象,用循环语句显示出来
*/
public static void homework4() {
Item item1 = new Item(1,"笔",3);
Item item2 = new Item(2,"本子",4);
Item item3 = new Item(3,"书",5);
Person person1 = new Person(20,"小明",175);
Person person2 = new Person(25,"小刚",179);
Person person3 = new Person(19,"小红",166);
Item [] arr = {item1,item2,item3};
Person [] arr1 = {person1,person2,person3};
for(int i=0; i < arr.length;i++) {
System.out.println("下标为"+i+",内容是"+arr[i].getItemnum()+arr[i].getItemname()+arr[i].getItemprice());
}
for(int i=0; i < arr.length;i++) {
System.out.println("下标为"+i+",内容是"+arr1[i].getAge()+arr1[i].getName()+arr1[i].getHigh());
}
}
/**
* 一维数组容器(显示省份)
*/
public static void homework1() {
String [] arr = {"河南","北京","上海"};
for(int i=0; i < arr.length;i++) {
System.out.println("下标为"+i+",内容是"+arr[i]);
}
}
/**
* 二维数组容器(显示城市)
*/
public static void homework2() {
String [] [] arr = {
{"河南一","河南二","河南三"},
{"北京一","北京二","北京三"},
{"上海一","上海二","上海三"}
};
for(int i=0; i < 3;i++) {
for(int o = 0;o < 3;o++) {
System.out.println("下标为"+i+"--"+o+",内容是"+arr[i][o]);
}
}
}
/**
* 三维数组容器(显示城区)
* 循环语句的嵌套
*/
public static void homework3() {
//三维1
String [][][]arr = {
//二维1
{
//一维1-3
{"1.1.1","1.1.2","1.1.3"},
{"1.2.1","1.2.2","1.2.3"},
{"1.3.1","1.3.2","1.3.3"}
},
//二维2
{
//一维4-6
{"2.1.1","2.1.2","2.1.3"},
{"2.2.1","2.2.2","2.2.3"},
{"2.3.1","2.3.2","2.3.3"}
},
//二维3
{
//一维7-9
{"3.1.1","3.1.2","3.1.3"},
{"3.2.1","3.2.2","3.2.3"},
{"3.3.1","3.3.2","3.3.3"}
}
};
for(int i=0; i < 3;i++) {
for(int o = 0;o < 3;o++) {
for(int u=0; u<3;u++) {
System.out.println("下标为"+i+"--"+o+"--"+u+",内容是"+arr[i][o][u]);
}
}
}
}
/**
* 数组容器写法一
* 数据类型 [] 变量名 = new 数据类型 [x] x为具体数字,此数字大小即为数组容器大小
* 数组容器的下标从0开始。如0.1.2.3的大小为4.
*/
public static void way() {
int [] num1 = new int [4];
num1[1] = 5;
System.out.println( num1 [1]+"--"+num1.length);
}
/**
* 数组容器写法二
* 数据类型 [] 变量名 = new 数据类型[]{“此处写内容,内容数量即为数组容器大小”}
*/
public static void way1() {
String [] num1 = new String[] {"小名","小红"};
System.out.println( num1 [1]+"--"+num1.length);
}
/**
* 数组容器写法三
* 数据类型 [] 变量名 ={“此处写内容,内容数量即为数组容器大小”}
* 对比写法就是少了new 数据类型[]的部分,此为简写方式
*/
public static void way2() {
String [] num1 ={"小看","小红"};
System.out.println( num1 [0]+"--"+num1.length);
}
public static void way3() {
int [] array = new int [9];
array[5]=4;
for(int i=0; i < array.length;i++) {
System.out.println("下标为"+i+",内容是"+array[i]);
}
}
public static void way4() {
Item item1 = new Item(1,"笔",3);
Item item2 = new Item(2,"本子",4);
Item item3 = new Item(3,"书",5);
Item [] arr = {item1,item2,item3};
System.out.println(arr[2].getItemname());
}
}
way():
5–4
way1():
小红–2
way2():
小看–2
way3():
下标为0,内容是0
下标为1,内容是0
下标为2,内容是0
下标为3,内容是0
下标为4,内容是0
下标为5,内容是4
下标为6,内容是0
下标为7,内容是0
下标为8,内容是0
way4():
书
homework1():
下标为0,内容是河南
下标为1,内容是北京
下标为2,内容是上海
homework2():
下标为0–0,内容是河南一
下标为0–1,内容是河南二
下标为0–2,内容是河南三
下标为1–0,内容是北京一
下标为1–1,内容是北京二
下标为1–2,内容是北京三
下标为2–0,内容是上海一
下标为2–1,内容是上海二
下标为2–2,内容是上海三
homework3():
下标为0–0--0,内容是1.1.1
下标为0–0--1,内容是1.1.2
下标为0–0--2,内容是1.1.3
下标为0–1--0,内容是1.2.1
下标为0–1--1,内容是1.2.2
下标为0–1--2,内容是1.2.3
下标为0–2--0,内容是1.3.1
下标为0–2--1,内容是1.3.2
下标为0–2--2,内容是1.3.3
下标为1–0--0,内容是2.1.1
下标为1–0--1,内容是2.1.2
下标为1–0--2,内容是2.1.3
下标为1–1--0,内容是2.2.1
下标为1–1--1,内容是2.2.2
下标为1–1--2,内容是2.2.3
下标为1–2--0,内容是2.3.1
下标为1–2--1,内容是2.3.2
下标为1–2--2,内容是2.3.3
下标为2–0--0,内容是3.1.1
下标为2–0--1,内容是3.1.2
下标为2–0--2,内容是3.1.3
下标为2–1--0,内容是3.2.1
下标为2–1--1,内容是3.2.2
下标为2–1--2,内容是3.2.3
下标为2–2--0,内容是3.3.1
下标为2–2--1,内容是3.3.2
下标为2–2--2,内容是3.3.3
homework4():
下标为0,内容是1笔3.0
下标为1,内容是2本子4.0
下标为2,内容是3书5.0
下标为0,内容是20小明175
下标为1,内容是25小刚179
下标为2,内容是19小红166
homework4()所用到的两个类:
Item.java
public class Item {
private int itemnum;
private String itemname;
private double itemprice;
public Item() {}
public Item(int itemnum, String itemname, double itemprice) {
this.itemnum = itemnum;
this.itemname = itemname;
this.itemprice = itemprice;
}
public int getItemnum() {
return itemnum;
}
public void setItemnum(int itemnum) {
this.itemnum = itemnum;
}
public String getItemname() {
return itemname;
}
public void setItemname(String itemname) {
this.itemname = itemname;
}
public double getItemprice() {
return itemprice;
}
public void setItemprice(double itemprice) {
this.itemprice = itemprice;
}
}
Person.java
public class Person {
private int age;
private String name;
private int high;
public Person (){}
public Person(int age, String name, int high) {
this.age = age;
this.name = name;
this.high = high;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getHigh() {
return high;
}
public void setHigh(int high) {
this.high = high;
}
}
本文地址:https://blog.csdn.net/qq_51576943/article/details/109585142
上一篇: 若依框架下拉框修改默认选中和添加
下一篇: js实现倒计时效果