【无标题】

三目运算符

数据类型 x = (表达式) ?  value1 :  value2;

执行流程: 来判断表达式 你如果表达式为true 就将value1赋值给x这个变量, 如果为false 就将value2赋值给变量x

循环结构

while循环

语法格式:

while (布尔表达式) {
	语句体
}

执行流程: 当代码执行到while关键字的时候,先去判断布尔表达式,如果布尔表达式为false,就不会执行

语句体。如果布尔表达式为true 执行语句体,然后(重要) 再去判断布尔表达式,如果布尔表达式为true

执行语句体,然后再去判断布尔表达式,直到布尔表达式为false的时候,循环就结束了(就不再执行语句体了)。接着执行循环以外的代码

do-while循环

语法格式:

do {
	语句体
} while(布尔表达式);

执行流程:首先代码执行到do 然后执行do后面大括号中的语句体,再去判断while后面的布尔表达式

如果布尔表达式为false的话,就不再执行do后面的语句体了,相当于循环结束

如果布尔表达式为true,再回到do 去执行后面的语句体,执行完语句体之后,再判断while后面的布尔表达式,如果布尔表达式为true的话,就再执行do后面的语句体,然后再去判断while布尔表达式,直到为false的时候,循环结束了

for循环

语法格式:

for (表达式1; 布尔表达式2; 表达式3) {
	语句体
}

表达式1: 初始化的条件

表达式2: 终止条件

表达式3: 循环条件

执行流程: 首先执行表达式1,再执行表达式2,如果布尔表达式2为true,执行大括号中语句体。然后再执行表达式3,再执行表达式2,再次判断布尔表达式2,直到为false,就不执行语句体。就意味着循环结束

嵌套循环

一个循环里面套另外一个循环。秉承着一个特点: 从外层循环先进入到内层循环,然后 内存循环先结束

然后再回到外层循环,再进入到内层循环,内层循环结束,再会带外层循环

方法

语法格式:

public static void 方法的名字 () {
 //语句体,void无返回值,想要有返回值就应该是相应的返回值类型
    //无参数,想要有参数就要在括号里添加 数据类型 形参
}
break和continue

break 结束循环或者switch-case

continue 继续循环,结束本次循环

数组

定义

使用数组: 只需要一个变量,然后数组中存很多的数据

可以作为返回值类型

声明

第一种:

数据类型[]   数组的名字 = {值1, 值2, 值3,...};
或
数据类型   数组的名字 []= {值1, 值2, 值3,...};

第二种:

数据类型[]   数组的名字 = new  数据类型[容量];
或者
数据类型 数组的名字[] = new  数据类型[容量];

第三种:

数据类型[] 数组的名字  = new 数据类型[]{值1, 值2, 值3,...};
赋值

通过下标来复制,下标从0开始

数据类型[]   数组的名字 = new  数据类型[容量];
int[] ints = new int[4];
int[0] = 1;
int[1] = 2;
二维数组
数据类型[][]   数组的名字 = new  数据类型[容量][容量];

选择排序

最小值向前

原理: 找到最小值的索引 , 然后和第一个数据进行交换。。再除了第一个的剩余的数据的最小值索引

然后和第二个数据进行交换。以此类推即可

int[] = {4,3 ,2,1}

先遍历一遍 找到 最小值的索引 3 然后交换位置 {1, 3, 2, 4}

再遍历一遍(除了第一个数) 找最小值的索引 2 然后交换位置 {1, 2, 3,4}

再遍历一遍(除了第前两个数) 找最小值的索引 {1, 2, 3,4}

冒泡排序

最大值交换往后

从小到大进行排序

原理: 比较两个相邻的元素的大小,如果左边比右边大,就交换位置。每一对都要比较

int[] arr = {1, 5, 2,3};

第一轮: for

{1, 5,2,3} 比较1和5

{1,2,5,3}比较5和2

{1,2,3,5}比较的是5和3

第二轮:

{1,2,3,5} 比较 1和2

{1,2,3,5} 比较2 和3

第三轮:

{1,2,3,5} 比较1和2

声明一个类的语法格式

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

构造方法

1.构造方法是用来初始化对象的(和创建对象有关)

2.构造方法必须写在实体类中 不是带有main主函数的类中

1.声明一个类的语法格式

calss Person {

属性

String name;

方法

public void eat () {

}

}

2.通过类创建一个对象

Person person1 = new Person();

3.无参数的构造方法语法格式

public 类名 () {

}

4.有参数构造方法的语法格式

public Person (String name, int age) {

this.name = name;

this.age = age;

}

5.构造方法的作用是初始化对象

对象的内存分析

Jvm内存分配,以后还会再讲

区域的名字

作用

寄存器

给CPU使用的,和开发没有关系

本地方法栈

JVM在执行操作系统的时候会使用,和咱们没有关系

方法区

存储的是字节码文件 class文件

堆区域

存储对象或者数组的数据,凡是 new的东西和堆有关

栈区

存储的是八大基本数据类型的数据和对象的引用(内存地址)

栈:存储的是八大基本数据类型的数据和对象的引用(内存地址)

int a = 20; a 20 都存在栈区了

Peson person = new Person(); 栈 存的是dog的内存地址

堆:

对象的真实的数据 张三 22

构造代码块

现在开发不用了,以后会讲一个叫静态代码块的
构造代码块的目的:也是可以对对象的属性进行赋值。功能是和构造方法是一样的
语法格式:
{ 语句体 }
1.写在实体类中
2.只要实例化一个对象 以后,就会先执行构造代码块,然后再执行构造方法

成员变量和局部变量

局部变量

变量的作用域的问题, 方法a中一个变量,能不能再方法b中使用? 不能

成员变量
定义在实体类中的大括号的里面,也叫属性
成员变量和局部变量区别

区别

成员变量

局部变量

定位位置

类的大括号的后面 也叫属性

定义在方法体中

作用

描述一个类的属性或者特征的

在方法体中保存变量的值的

初始化的值

有默认的初始值String=>null int ==>0

没有默认的值使用的时候一定要赋值

作用域

作用整个类

只能在当前方法中使用

1.对象内存分析
	栈中存的是  八大基本数据类I型和对象的引用(内存地址)
	堆中存的是  对象的真实的值
	
2.构造代码块
	{
	
	}
	构造代码块先于构造方法执行
3.成员变量和局部变量

封装

Java是面向对象的三大特征 ,就是把对象的属性和操作(服务) 结合起来变成一个整体,并尽可能的去隐藏内部的信息
Java封装 对属性的封装, 对方法的封装 , 对类的封装
今天主要讲属性的封装:
之前写的属性 String name; int age;。只需要通过对象.name 赋值和取值即可,这样的话存在一定隐患的。
对属性进行封装:
1.为每个属性加上一个修饰符 private (私有的)
2.在实体类中,书写相对应的set方法和get方法 进行操作
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值