20145120 《Java程序设计》第3周学习总结

20145120 《Java程序设计》第3周学习总结

教材学习内容总结

基本类型与类类型的概念

在java里使用数组和字符串

封装的概念

在java定义函数

重载的概念

static的概念

因为程序很多所以我截取部分

猜数字

public class Guess {
public static void main(String[] args) {
Scanner console = new Scanner(System.in);
int number = (int) (Math.random() * 10);
int guess; do {
System.out.print("猜数字(0 ~ 9):");
guess = console.nextInt();
} while(guess != number);
System.out.println("猜中了XD");
}
}

20145120 《Java程序设计》第3周学习总结

使用BigDecimal

import java.math.BigDecimal;

public class DecumalDemo {
public static void main(String[] args) {
BigDecimal operand1 = new BigDecimal("1.0");
BigDecimal operand2 = new BigDecimal("0.8");
BigDecimal result = operand1.subtract(operand2);
System.out.println(result); BigDecimal op1 = new BigDecimal("0.1");
BigDecimal op2 = new BigDecimal("0.1");
BigDecimal op3 = new BigDecimal("0.1");
BigDecimal result2 = new BigDecimal("0.3");
if(op1.add(op2).add(op3).equals(result2)) {
System.out.println("等于 0.3");
}
else {
System.out.println("不等于 0.3");
}
}
}

20145120 《Java程序设计》第3周学习总结

基本类型打包

public class IntegerDemo {
public static void main(String[] args) {
int data1 = 10;
int data2 = 20; Integer wrapper1 = new Integer(data1);
Integer wrapper2 = new Integer(data2); System.out.println(data1 / 3);
System.out.println(wrapper1.doubleValue() / 3);
System.out.println(wrapper1.compareTo(wrapper2));
}
}

20145120 《Java程序设计》第3周学习总结

数组复制

class Clothes {
String color;
char size;
Clothes(String color, char size) {
this.color = color;
this.size = size;
}
} public class Copy {
public static void main(String[] args) {
Clothes[] c1 = {new Clothes("red", 'L'), new Clothes("blue", 'M')};
Clothes[] c2 = new Clothes[c1.length];
for(int i = 0; i < c1.length; i++) {
c2[i] = c1[i];
}
c1[0].color = "yellow";
System.out.println(c2[0].color); //浅层复制的结果 Clothes[] c3 = {new Clothes("red", 'L'), new Clothes("blue", 'M')};
Clothes[] c4 = new Clothes[c3.length];
for(int i = 0; i < c3.length; i++) {
Clothes c = new Clothes(c3[i].color, c3[i].size);
c4[i] = c;
}
c3[0].color = "yellow";
System.out.println(c4[0].color); //深层复制的结果
}
}

20145120 《Java程序设计》第3周学习总结

1到100

public class OneTo100 {
public static void main(String[] args) {
StringBuilder oneTo100 = new StringBuilder();
for (int i = 1; i < 100; i++) {
oneTo100.append(i).append('+');
}
System.out.println(oneTo100.append(100).toString());
}
}

20145120 《Java程序设计》第3周学习总结

储蓄

import java.util.Scanner;

class CashCard {
private String number;
private int balance;
private int bonus; CashCard(String number, int balance, int bonus) {
this.number = number;
this.balance = balance;
this.bonus = bonus;
} void store(int money) {
if(money > 0) {
this.balance += money;
if(money >= 1000) {
this.bonus++;
}
}
else {
System.out.println("储值是负的?你是来捣乱的吗?");
}
} void charge(int money) {
if(money > 0) {
if(money <= this.balance) {
this.balance -= money;
}
else {
System.out.println("钱不够啦!");
}
}
else {
System.out.println("扣负数?这不是让我储值吗?");
}
} int exchange(int bonus) {
if(bonus > 0) {
this.bonus -= bonus;
}
return this.bonus;
} int getBalance() {
return balance;
} int getBonus() {
return bonus;
} String getNumber() {
return number;
}
} public class CardApp {
public static void main(String[] args) {
Scanner console = new Scanner(System.in); CashCard card1 = new CashCard("A001", 500, 0);
card1.store(console.nextInt()); CashCard card2 = new CashCard("A002", 300, 0);
card2.store(console.nextInt()); CashCard card3 = new CashCard("A003", 1000, 1);
card3.store(console.nextInt()); System.out.printf("明细 (%s, %d, %d)%n",
card1.getNumber(), card1.getBalance(), card1.getBonus());
System.out.printf("明细 (%s, %d, %d)%n",
card2.getNumber(), card2.getBalance(), card2.getBonus());
System.out.printf("明细 (%s, %d, %d)%n",
card3.getNumber(), card3.getBalance(), card3.getBonus());
}
}

20145120 《Java程序设计》第3周学习总结

教材学习中的问题和解决过程

不太理解为什么要进行基本类型打包,基本类型打包有什么作用?

这周我将NetBaens换成了IDEA,

对1到100那个程序的运行结果截图的时候因为结果太长,很难截图,感觉应该是有结果自动换行功能的,找了一下,发现了应该是自动换行按钮的东西

20145120 《Java程序设计》第3周学习总结

还有显示代码行数的功能

20145120 《Java程序设计》第3周学习总结

等等

代码调试中的问题和解决过程

都是在抄书,所以没问题。

其他(感悟、思考等,可选)

感觉本周的学习难度明显上升了,有很多新概念出现,例如对象、参考等概念感觉理解起来就很麻烦,很难把这些概念固定在印象里。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 1000行 16篇 300小时
第一周 20/1000 1/16 8/300
第二周 71/1000 2/16 17/300
第三周 320/1000 3/16 30/300

参考资料

上一篇:纯CSS实现多行文字垂直居中几种方法解析


下一篇:css 超出规定行数自动隐藏