java复习笔记(1)
-
开始写博客
-
预科
计算机硬件-冯诺依曼结构-计算机 输入-》存储器(运算器,处理器)-》输出设备
计算机软件-系统 应用软件
计算机语言-二进制语言-》汇编语言-》高级语言 -
java
1972 C语言,指针,内存管理
1982 c++,兼容C,简单静态类型检查
1995 java,
只要安装了jvm 就可以跑java程序,浏览器 图形界面程序applet
java SE 桌面,java ME 移动,java EE 服务器 高可用高性能高并发
2006年 Hadoop
java的特性和优势
-简单性 -面向对象 -可移植性 -高性能 -分布式 -动态性 -多线程 -安全性 -健壮性 -生态强大
- java的三大版本
-java SE 标准化,
-java ME 嵌入式开发,
-java EE 企业级开发
jdk java开发者工具,包含jre,javac jar
jre java运行时环境,包含jvm applet
jvm java虚拟机,模拟了一个小巧的cpu
java开发环境搭建
卸载jdk-找到jdk安装目录 直接删除文件夹,清理环境变量,java -version
java目录详解
bin-可执行文件目录 javac
include-需要引入c语言文件,
jre-java运行时环境,
lib目录-库文件,
src-java基础类的源代码
HelloWorld
javac hello.java-编译命令 会生成一个class文件,运行java hello
语言类型
理解:编译型 全部直接翻译成计算机可执行的代码comlile 编译器解释型 一句一句解释翻译
java文件通过编译器变成了class文件(预编译-字节码文件-运行时走到jvm虚拟机) class文件被执行放到类装载器中…
java先编译 到操作系统才解释
java基础语法
数据类型-强类型语言 先定义再使用
二进制0b
八进制0
十六进制0x
1个字节8位
位(bit)是计算机内部存储的最小单位 二进制是一位
字节(byte)是计算机中数据处理的基本单位,用B表示
字符是计算机中使用的字母 数字 字和符号
基本类型
类型 | boolean | byte | char | short | int | float | double | long |
---|---|---|---|---|---|---|---|---|
类型 | boolean 类型 | 字符型 | 整型 | 整型 | 浮点型 | 浮点型 | 浮点型 | 整型 |
存储 字节 | 1位=1/8 | 1 | 2 | 2 | 4 | 4 | 8 | 8 |
包装类 | Boolean | Byte | Character | Short | Integer | Float | Double | Long |
取值范围 | true, false | -128~127 2^7次方 | u0000-uFFFF | -2^15到2的15-1 | -2^31~ 2的31-1 | -3.4e+38 ~ 3.4e+38 | -1.7e+308 ~ 1.7e+308 | -263~263-1 |
– | 默认值 false | 只能写一个字 | – | – | 数字后加个F | 要在数字后加个L |
引用类型-类 接口 数组
题
float和double
float f= 0.1f;
double=1.0/10
用==判断 falsefloat有限 离散,舍入误差,大约 接近但不等于,最好完全使用浮点数进行比较
使用BigDecimal 数学工具类char
char c1=‘a’;
char c2=‘中‘;
(int)c2 //输出数字
char c3=’\u0061‘;//输出a所有的字符本质还是数字,unicode编码表 2个字节 最多可以表示0-65536
转义
\t 制表符 \n 换行
String sa = new String("");//false
String sa = “”;//true
java基础复习笔记(2)-10.28
类型转换
运算中 不同类型的数据先转化为同一类型,然后再进行计算
byte short char int long float double
- 自动转换 低->高
- 强制转换的格式 (类型)变量名 高->低
- 不能对布尔值进行转换
- 不能吧对象类型转为不相干的类型、
- 在把高容量转为低容量时,强制转换
- 转换的时候可能存在内存溢出 或者精度问题
int i=128;
byte b=(byte)i;//输出-128
char c = 'a';
int d=c+1;
//jdk7 新特性 数字之间可以用下划线分隔 且不会被输出
//内存溢出 问题
int m = 100_000_000_000;
int y=10
long total = m*y //此时输出负数 内存溢出问题
long total = m*((long)y)//先把一个数转成Long 这样就可以正常输出了
变量
java变量是程序中最基本的存储单元,要素:变量名 变量类型 作用域
1.类变量带static,static int a=0;
2.局部变量在方法中,必须声明且初始化值
3.实例变量 作用域更大,在类中使用,从属于对象,int age;
如果不进行初始化,会变成默认值,除了基本类型,其他类型默认值都是null
常量
一种特殊的变量,final 一般使用大写字符 static final是修饰符 不区分前后顺序
命名规则
1.变量 首字母小写 驼峰原则
2.常量 全部大写 中间_分隔
3.类名 首字母大写 驼峰原则
4.方法名 首字母小写 驼峰原则
运算符
精度小于int的, 相加之后都会自动转换int
如果有long参与, 都会是long
如果有double参与 就是double
a++; 先执行,再自增
++a; 先自增,再执行
工具类 Math
题
System.out.println(""+a+b); 输出1020,String在前 输出String
System.out.println(a+b+"); 输出30 String在后,先计算加减
https://www.bilibili.com/video/BV12J41137hu?p=30