在调用函数阶段学习后,发现很多算式都是几个条件就能完成的,然后嵌套一下,达到目的,比如36人搬36石头的案例
public class HomeWork7{
public static void main(String[] args){
int a , b, c;
for(a = 1 ; a <= 9;a++){
for(b = 1 ; b <= 12;b++){
c = 36 - a - b;//小孩的数量就是剩下的减去男人跟女人的数量
if(c%2 == 0){
if(4*a + 3*b + c/2 == 36){
//列出方程式
System.out.println("男:" + a);
System.out.println("女:" + b);
System.out.println("小孩:" + c);
}
}
}
}
}
}
在对数组的实现熟悉后,就是一个个的循环,难点在于嵌套循环的次数,要尽量在脑子里演练,每次循环,函数做出的事情,以及循环次数的减少和增加,很容易绕进去,如果没有讲师的带领下,很难实践这个环节,讲的确实够仔细,尤其是在排序的时候,要自己亲自去实践一下。每一次循环的过程:
冒泡排序案例:
public class TestBubble{
public static void main(String[] args){
int[] nums = {1,3,2,7,5};
//冒泡排序:相邻的两个数值比较大小,互换位置
//轮次:数组长度-1
//单论次数:逐级递减 (数组的长度-1)在这个基础上再逐级递减
for(int i = 0;i < nums.length - 1;i++){
//外层循环,控制比较轮次
for(int j = 0;j < nums.length - 1 - i ; j++){
//外层4次,内层的循环次数逐级递减
//第一轮 i = 0 5-1-0 循环4次
//第二轮 i = 1 5-1-1 循环3次
//第三轮 i = 2 5-1-2 循环2次
//第四轮 i = 3 5-1-3 循环1次
if(nums[j] > nums[j+1]){
int temp = nums[j];
nums[j] = nums[j+1];
nums[j+1] = temp;
}
}
}
/*for(int j = 0;j < nums.length - 1 ; j++){
if(nums[j] > nums[j+1]){
int temp = nums[j];
nums[j] = nums[j+1];
nums[j+1] = temp;
}
}
for(int j = 0;j < nums.length - 1 ; j++){
if(nums[j] > nums[j+1]){
int temp = nums[j];
nums[j] = nums[j+1];
nums[j+1] = temp;
}
}
for(int j = 0;j < nums.length -1 ; j++){
if(nums[j] > nums[j+1]){
int temp = nums[j];
nums[j] = nums[j+1];
nums[j+1] = temp;
}
}
for(int j = 0;j < nums.length - 1 ; j++){
if(nums[j] > nums[j+1]){
int temp = nums[j];
nums[j] = nums[j+1];
nums[j+1] = temp;
}
}
*/
for(int i = 0;i < nums.length;i++){
System.out.print(nums[i] + "\t");
}
System.out.println();
}
}
杨辉三角这个案例,是在二维数组的基础上完成的,我做的方法简单,我是认为第n+1行的第i个数字等于第n行的i-1个数字加上第n行的i个数字。在满足这个条件的环节,注意第一列的数字都是1。
杨辉三角案例
public class Yang{
public static void main(String[] args){
int[][] array = new int[10][10];
for(int i = 0;i < array.length;i++){
for(int j = 0;j < i;j++){
//每一行的开始和结尾数字都为1.
if(i == j || j == 0){
array[i][j] = 1;
}else{
//第n+1行的第i个数字等于第n行的i-1个数字加上第n行的i个数字。
array[i][j] = array[i-1][j-1] + array[i-1][j];
}
System.out.print(array[i][j]+"\t");
}
System.out.println();
}
}
}
初识对象之后,我学到了一句话,“在程序员眼中,万物都是对象”,也正式开始使用开发工具来编写代码,感觉方便了特别多,更想多了解有哪些快捷键,这是一个创建Student类的一个案例。
public class Student{
public static void main(String[] args){
//创建Xuesheng类型的对象,并保存在xue1变量当中
Xuesheng xue1 = new Xusheng();
//访问属性:为各个属性赋值
xue1.name = "Tom";
xue1.age = 20;
xue1.sex = "男";
xue1.score = 10.0;
//调用对象的方法
xue1.sayHi();
//创建Xuesheng类型的对象,并保存在xue2变量当中
xue2.name = "Anna";
xue2.age = 23;
xue2.sex = "女";
xue2.score = 100.0;
//调用对象的方法
xue2.sayHi();
}
}
Xuesheng{
String name;//名字
int age;//年龄
String sex;//性别
double score;//分数
//创建Xuesheng类里的sayHi方法
public void sayHi(){
System.out.println("你们好,我是"+ name + ",我今年"+ age+ "岁,我是一个温柔可爱无比善良的" + sex + "生,我的考试分数是:" + score);
}
}