一、数据类型
1. 整型
类型
占用存储空间
范围
byte[字节]
1字节
-128~127
short[短整型]
2字节
-32768~32767
int[整型]
4字节
-231~231-1
long[长整型]
8字节
-263~263-1
Java的整型常量(具体值)默认为int型,声明long型常量须后加 l 或 L
bit:计算机中的最小存储单位
byte:计算机中基本存储单元1byte = 8 bit
byte范围使用原码和反码:[-127,127],使用补码表示:[-128,127]
2. 浮点数
类型
占用存储空间
范围
单精度float
4字节
-3.403E38~3.403E38
双精度double
8字节
-1.798E308~1.798E308
浮点数在机器中存放形式:浮点数=符号位+指数位+尾数位
尾数部分可能丢失,造成精度损失(小数都是近似值)
Java 的浮点型常量(具体值)默认为double型,声明float型常量,须后加 f 或 F
浮点型常量表示方法:
十进制数形 ...
一、算术运算符
有小数运算时,得到的结果为近似值
二、逻辑运算符
&&短路与:如果第一个条件为false,则第二个条件不会判断,最终结果为false
&逻辑与:不管第一个条件是否为false,第二个条件都要判断
符合运算会进行类型转换
12byte b = 3;b += 2;//b = (byte)(b + 2);
三、三元运算符
123456条件表达式? 表达式1:表达式2;//案例int a = 2;int b = 3;System.out.println(a > b?a:b);
如果条件表达式为true,运算后的结果是表达式1
如果条件表达式为false,运算后的结果是表达式2
四、运算符的优先级
从上至下优先级降低
2行:单目运算;3行:算术运算符;4行:位移运算符;5行:比较运算符;6行:逻辑运算符;7行:三元运算符;8、9、10:赋值运算符
只有单目运算符、赋值运算符是从右向左运算的
五、标识符
对各种变量、方法和类名等命名使用的字符序列为标识符
1. 命名规则
由26个英文字母大 ...
一、顺序控制
程序从上到下逐行的执行,中间没有任何判断和跳转
1. 分支控制
让程序有选择的执行
1.1 单分支
123if(条件表达式){ //执行代码块}
当条件表达式为true,执行代码块中的内容,为false不执行
当{}代码块中只有一条语句,{}可以省略
1.2 双分支
1.3 多分支
可以没有else语句
1.4 嵌套分支
一个分支中完整的嵌套了另外一个完整的分支结构,里面的为内层分支,外面的为外层分支
嵌套分支最好不要超过3层
12345if(){ if(){ }else{ }}
2. Switch
2.1 语法
123456789101112switch(表达式){ case 常量1: //语句块; break; case 常量2: //语句块; break; .... default: //语句块; ...
一、数组的使用
1. 定义
1234567//方式一数据类型 数组名[] = new 数据类型[大小];//方式二数据类型[] 数组名 = new 数据类型[大小];//案例int nums[] = new int[5];int[] nums = new int[5];
2. 初始化数组
123数据类型 数组名[] = {元素值, 元素值...};//元素值要为同一数据类型//案例int nums[] = {1,2,3,9};
3. 注意事项
数组是多个相同类型数据的组合,实现对这些数据的统一管理
数组中的元素可以是任何数据类型,包括基本类型和引用类型,但是不能混用,数组创建后,如果没有赋值,有默认值(int0, short 0, byte 0, long 0, float 0.0,double 0.0,char \u0000,boolean false, String null)
使用数组的步骤:
声明数组并开辟空间
给数组各个元素赋值
使用数组
数组的下标是从0开始的
数组下标必须在指定范围内使用, ...
一、类与对象
类是抽象的,概念的,代表一类事物,比如人类,猫类.…,即它是数据类型
对象是具体的,实际的,代表一个具体事物,即是实例
类是对象的模板,对象是类的一个个体,对应一个实例
1. 创建对象
先声明再创建
12Cat cat;//声明对象cat = new Cat();//创建
直接创建
1Cat cat = new Cat();
2. 类和对象的内存分配机制
2.1 java内存的结构分析
栈:一般存放基本数据类型(局部变量)
堆:存放对象(Cat cat,数组等)
方法区:常量池(常量,比如字符串),类加载信息
2.2 java创建对象的流程
先加载Person类信息(属性和方法信息,只会加载一次)
在堆中分配空间,进行默认初始化(看规则)
把地址赋给p,p就指向对象
进行指定初始化
12p.name =" jack";p.age = 10;
3. 属性/成员变量
3.1 介绍
成员变量也可以称为属性或者字段(filed)
属性是类的一个组成部分,一般是基本数据类型,也可能为引用类型(对象, ...
一、包
包实际上就是创建不同的文件夹/目录来保存类文件
1. 语法
12345678package com.study;//1. package 关键字,表示打包//2. com.study表示包名//引入包import 包;//案例import java.util.*;//将java.util包下的所有类都引入
2. 作用
区分相同名字的类
管理类
控制访问范围
3. 命名规则
只能包含数字、字母、下划线、小圆点,但是不能以数字开头,不能是关键字和保留字
一般是小写字母+小圆点
1234com.公司名.项目名.业务模块名 //案例com.sina.crm.user//用户模块
4. 常用的包
1234java.lang.*//lang包是基本包,默认引入java.util.*//util包是系统提供的工具包,工具类,如Scannerjava.net.*//网络包,网络开发java.awt.*//java的界面开发,GUI
5. 注意事项
package的作用是声明当前类所在的包,需要放在class的最上面,一个类中最多只有一句package
impor ...