生成随机整数
Random r = new Random();
int num = r.nextInt();
关键字:被赋予特殊含义的单词
关键字都是小写的
二进制:由0和1组成,代码中以ob开头
十进制:由0~9组成,前面不加任何前缀
八进制:由0~7组成,代码中以0开头
十六进制:由0-9还有a~f组成,代码中以0x开头
整数:byte(8位),short,int(默认类型),long(定义的时候数值后需要加L)
浮点型:float(定义时数值后缀需要加F),double
字符型:char
布尔型:false,true
取值范围:byte < short
给类,变量等起的名字
小驼峰命名法:方法名,变量名
大驼峰命名法:类名
import java.util.Scanner;
public class dome1 {
public static void main(String[] args) {
// 创建一个scanner对象
Scanner sc = new Scanner(System.in);
/*
接收数据,并赋值给i
*/
int i = sc.nextInt();
}
}
对自变量或变量进行操作的符号
表达式:通过运算符把自变量和变量连接起来,符合Java语法的式子称为自变量,例如a+b
+:加()
-:减
*:乘
/:除(整数除法结果取整)
%:取模,取余
小数进行计算时计算结果可能不精确
当“”操作中出现字符串时,这个“+” 是字符串连接符,而不是算术运算符了会将前后的数据进行拼接,并产生一个新的字符串。(例如:“1”+234的结果为”1234“)
把一个取值范围小的数值转成取值范围大的数据,然后进行运算
//将int型强制转换为byte型
int(a)
表示把i+1
i++
表示把i-1
i--
+=:表示将左边和右边相加然后将相加的结果赋值给等号左边的变量
-=:表示将左边和右边相减然后将相减的结果赋值给等号左边的变量
*=:表示将左边和右边相乘然后将相乘的结果赋值给等号左边的变量
/=:表示将左边和右边相除然后将相除的结果赋值给等号左边的变量
关系表达式?表达式1:表达式2
如果关系表达式为真,运行表达式1,否则运行表达式2
int a = 10;
int b = 20;
int max = a>b?a+b:a-b;(运行a-b)
switch (5){
case 1:
System.out.println(1);
break;
case 2:
System.out.println(2);
break;
case 3:
System.out.println(3);
break;
case 4:
System.out.println(4);
break;
default:
System.out.println(5);
break;
}
数组只能存储同一种数据类型的数据
数组存储时可以发生隐式类型转换
格式1:数据类型 [] 数组名
格式2:数据类型 数组名[]
完整格式:数据类型[] 数组名 = new 数据类型[][ 元素1,元素2,元素3…};
int[] array = new int[]{11,22,33 1};
简化格式:数据类型[] 数组名 ={ 元素1,元素2,元素3…};
int[] array ={11,22,33 };
数据类型[] 数组名 = new 数据类型[数组的长度];
int[] array = new int[50];
整数类型:默认初始化值0
小数类型:默认初始化值o.0
字符类型:默认初始化值’/ugooe’空格
布尔类型:默认初始化值 false
引用数据类型:默认初始化值 nu11
栈:方法运行时使用的内存,比如main方法运行,进入方法栈中执行
堆:存储对象或者数组,new来创建的,都存储在堆内存
方法区:存储可以运行的class文件
本地方法栈:JVM在使用操作系统功能的时候使用,和我们开发无关
寄存器:给CPU使用,和我们开发无关
方法:程序中最小的执行单元
适用场景:重复使用且有独立功能的代码
优点:可以提高代码的可维护性和复用性
public static 返回值类型 方法名(参数类型 形参) {
方法程序
return 返回值;
}
public static int play(int num){
System.out.println(num);
return num;
}
返回值数据类型 接收返回值的变量 = 方法名(实参);
int num = play(2);
同一个类内的多个方法,同一个名但传输的参数不一样,可以构成重载
方法重载的好处
1: 定义方法的时候可以不用那么多的单词了
2: 调用方法的时候也不需要那么麻烦了。
权限访问的四种级别
private<缺省(什么都不写)
- private:
- 含义:私有的
- 修饰:实例变量,静态变量,实例常量,静态常量,实例方法,静态方法,实例成员,静态成员,实例成员内部类,静态成员内部类,构造器
- 特点:被private修饰的内容,只能在本类中进行访问和使用,在本类之外无法使用,否则编译报错
类:
含义:事物在程序中抽象的表现形式(例如:人类,猫类)
属性:事务的属性信息
行为:事务的行为动作
对象
含义:某一类事物的具体体现
类和对象的关系
类是对象的抽象,模板
对象是类的实例,实体
步骤:
1.根据事物的病性和行为设计最基础的”横版类" 2。在模版类的基础上添加封装思想
3.根据实际需求,加入构造器, 完成最基础的avabean 标准类的设
4.根据实际需求,加入静态的概念
5.根据实际需求,加入继承思想
6.根据实际需求,加入抽象疆念
7.根据实际需求,加入"最终"概念
8.根据实际需求,加入接口疆念
9.根据实际需求,加入内部类的概念
10.根据实际需求,加入放举类的概念
11.根据实味需灭,加入注解概念
12.根据文际需尖,加入构造器代码块
13.根据实际需,加入静态代码块
实例变量和局部变量的区别
- 代码中的位置不同
- 实例变量: 类中代码块外
- 局部变量: 代码块内或方法声明上(形参列表)
- 内存中的位置不同:
- 实例变量: 堆内存
- 局部交量: 栈内存
- 变量是否含有默认值不同:
- 实例变量: 含有默认值
- 局部变量: 没有默认值
- 代码中的作用域不同
- 实例变量:所属类中
- 局部变量:所属方法中
- 内存中的周期不同
- 实例变量:随着对象的创建而加载,随着对象的回收而消失
- 局部变量:随着方法的调用而加载,随着方法的出栈而消失
- 加载方式和次数不同
- 实例变量:随着对象的创建而加载,没创建一次对象而加载一次
- 局部变量:随着方法的调用而加载,每次调用一次方法就会加载一次
- 修饰符的使用不同
- 实例变量:程序中的各种修饰符都可以根据需求修饰
- 局部变量:只能使用final进行修饰
成员方法
内容:写在类中,但不会作为模板的一部分,只作为工具进行使用
- 构造器
- 构造器的含义
- 关键字new会通过构造器对对象进行堆内存区域的开辟
- 针对对象的成员进行实例初始化
- 如果是有参的构造器可以对对象的属性进行赋值操作
- 构造器的特点
- 构造器的名字必须和类名一样
- 构造器没有返回值类型(void也不写)
- 构造器和方法类似,也叫做构造方法,但是构造器有别于方法
- 构造器中内容(共三部分)
- 第一部分:隐式或显式的super(实参)或显式的this(实参)
- 第二部分:隐式加载实例成员和构造器代码块
- 第三部分:构造器中除this(实参)或super(实参)的显示代码
- 当一个类没有构造器时,JVM的编译器在编译时会自动补全一个public的无参构造器,供其创造对象
- 构造器支持方法重载
- 构造器代码块
- 静态代码块
含义:在实际开发中没有上级的特殊说明的情况下,程序员间约束类的约定俗成的规范
内容