Java学习第二周

第四天

1 ,num 1 三目运算符

格式 : 数据类型 变量名 = 关系表达式 ? 值1 : 值2 ;
案例 : int num = 1 >=3 ? 1 : 3;
如果表达式结果为true,把值1赋值给变量,否则将值2赋值给变量

2,循环结构

2.1 while循环

格式 :  while(布尔表达式){
    循环体;
}

执行流程 : 先进行布尔表达式判断,如果结果为false则结束循环,不执行循环体.

如果为true,则执行循环体,然后再重新对布尔表达式进行判断,直到布尔表达式结果为false结束循环

2.2 do - while循环

格式 : do{
    循环体;
}while(布尔表达式);

执行流程 : 先进行循环体执行,然后进行布尔表达式判断,如果为false则停止循环,

如果表达式为true 则重新执行循环体,然后再次判断布尔表达式,直到布尔表达式为false为止停止循环

2.3 while循环 和 do - while循环 区别

while是先判定再执行,da_while是先执行再判定

3, for循环

3.1 for循环

格式 : for (表达式1,布尔表达式2,表达式3) {
        循环体;
    }

执行流程 : 首先执行表达式1,再判断布尔表达式2,如果为false,则退出循环,不执行循环体。如果结果为true,则执行语句体,然后执行表达式3,再回到表达式2进行判定,如果结果为true,就重复上面的流程,直到结果为false为止

2.4.for循环的嵌套

格式 :  for (表达式1,布尔表达式2,表达式3) {
            for (表达式4,布尔表达式5,表达式6) {
                循环体;
            }
        }

执行流程 : 先执行外层表达式1,再判断外层布尔表达式2,如果为false,则退出循环,不执行循环体。如果结果为true,则进入内层循环。然后内层for循环结果为false时,进入到外层for循环判定,结果为true,重复上述步骤,直到外层for循环结果为false

第五天

1,方法

方法有四种类型,分别为 无参无返回值 ;无参有返回值 ;有参无返回值;有参有返回值

1.1 : .无参无返回值

格式 :  public static void 方法名 () {
            方法体;
        }

1.2 : 有参无返回值

格式:
    public static void 方法名 (数据类型 变量1,数据类型 变量2,...) {
        方法体;
    }

1.3.无参有返回值

格式:
    public static 数据类型 方法名 () {
        return 数值;
    }
数值数据类型和方法名前面数据类型一致

数值数据类型和方法名前面数据类型一致

1.4.有参有返回值

格式:
    public static 数据类型 方法名 (数据类型 变量1,数据类型 变量2,.) {
    	return 数值;
	}
数值数据类型和方法名前面数据类型一致

2,break 和 continue

2.1 break

break:可以用在switch和循环中 。表示循环终止

2.2 continue

continue:只能用在循环中。表示跳过当前循环进入到下一层循环中

第六天

1,数组

1.1,数组定义的三种方式

格式 :  数据类型[] 数组名字 = {值1, 值2, 值3, 值4, .......};
		数据类型[] 数组名字 = new 数据类型[数组长度];
		数据类型[] 数组名字 = new 数据类型[] {值1, 值2, 值3, 值4, .......};
赋值 :  数组名[索引] = 值;

数组可以作为方法的参数,也可以作为方法的返回值

第七天

1,排序问题

1.1,选择排序

先从第一个开始遍历一遍数组找到最小的数据索引,然后根据索引获取的值和第一个交换位置,然后再从第二个开始遍历。依次类推直到遍历到最后一个则成功排序

public static void main (String[] args) {
    int[] arr = {32, 56, 28, 15,86,69};
    for (int i = 0, i < arr.length - 1, i++) {
        int indax = i;
        for (int j = i + 1,j < arr.length, j++) {
            if (arr[indax] > arr[j]) {
                indax = j;
            }
        }
        int a = arr[indax];
        arr[indax] = arr[i];
        arri[i] = a;
    }
    System.out.println(Arrays.toString(arr));
}

1.2,冒泡排序

第一轮遍历将第一个与第二个比较,大的值放后面,小的放前面,再讲第二个与第三个比较,依次类推,最终将最大的一个放在最后面,后续重复第一轮,将因为上一轮最大值在最后,则每加一轮,最后比较位置减1;以此类推,最终可以完成排序

public static void main () {
    int[] arr = {32, 56, 28, 15,86,69};
    for (int i = 0, i < arr.length, i++) {
        for (int j = 0, j < arr.length - i - 1, j++) {
            if (arr[j] > arr[j + 1]) {
                int a = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = a;
            }
        }
    }
    System.out.println(Arrays.toString(arr));
}

第八天

1,类

格式 :  public class 类的名字 {
    		特征(Java中的变量)
    		行为(java中暂时不带static的方法)
		}

2.创建一个对象

1,必须现有类,才能创建一个对象

2,对象的创建必须在main主函数中

格式 :类 对象的名字 = new 类(); 

3.创建类和带有main主函数的类可以写在同1个文件中

现在写的类和带有main主函数,不在同一个文件中,是分开写的,但是也可以写在同一个文件中,此时文件的名字应该是带有main主函数测试类的名字。

package test;

//当一个文件中有两个类的时候 ,只能有一个public 来修饰类
class Dog {
	//狗的名字
	String name;
	//狗的重量
	double weight;
	//狗肉的颜色
	String color;
	
	//行为
	public  void  lookHome() {
		System.out.println("狗能看家");
	}	
}

public class Demo3 {
	public static void main(String[] args) {
		//创建对象
		Dog dog1 = new Dog();
		dog1.name = "二哈";
		dog1.weight = 30;
		dog1.color = "yellow";
		
		System.out.println("dog1的名字:" + dog1.name);
		System.out.println("dog1的价格:" + dog1.weight);
		System.out.println("dog1的颜色:" + dog1.color);
				
		dog1.lookHome();			
	}	
}

4,构造方法

4.1无参构造方法

public  类的名字 () {
    
}

4.2有参构造方法

public 类的名字 (数据类型 变量1,数据类型 变量2,........) {
    
}

无参构造和有参构造是创建对象的前提,Java中会默认创建无参构造,若自己写的有,则会覆盖掉默认的无参构造。

第九天

1、JVM的内存分析

区域的名字作用
寄存器给CPU使用的,和开发没有关系
本地方法栈JVM在执行操作系统的时候会使用,和咱们没有关系
方法区存储的是字节码文件 class文件
堆区域存储对象或者数组的数据,凡是 new的东西和堆有关
栈区存储的是八大基本数据类型的数据和对象的引用(内存地址)

2、构造代码块

代码块就是写在类里面,成员变量外面,与方法同级别,在调用对象的时候,会优先运行代码块。

3、成员变量和局部变量

成员变量就是描述类属性的变量。

局部变量就是只能在本大括号内(作用域)起作用的变量,遵循就近原则。

区别成员变量局部变量
定位位置类的大括号的后面 也叫属性定义在方法体中
作用描述一个类的属性或者特征的在方法体中保存变量的值的
初始化的值有默认的初始值String=>null int ==>0没有默认的值使用的时候一定要赋值
作用域作用整个类只能在当前方法中使用

4、封装

封装就是一个思想,为了让开发人员更放心方便的使用所封装好的功能。在写封装代码的时候,为了更好的展示封装思想只会指定特定的入口来进行掉用,而且还能写对数据进行判断的逻辑,筛选出正确的数据,让数据输入的数据更安全。

一般需要写有参和无参的构造,还有成员变量所对应的get和set方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值