【java基础】笔记(1-2章)

第一章

概述

解释性语言:java, javaScript (需要解释器)

test.java(源文件)通过javac编译生成test.class(字节码文件,可被不同操作系统执行)

其中操作系统中有java虚拟机JVM

JDK(java Development kit)是java开发工具包,

其中包含JRE(运行环境)和java开发工具(java,javac,javadoc,javap…)

JRE = JVM + java的核心类库

规定:

一个源文件中最多只能有一个public类

编译后,每个类都对应产生一个class文件

public类的类名必须是文件名

转义字符

\t 制表位 对齐

\n 换行符

\\ 输出一个反斜杠 \\\\ 输出两个反斜杠

\r 回车 “ab\rc”→“cb” a被c覆盖

文档注释

/**
	*@author 小明
	*@version 1.0
**/
//@是javadoc标签

第二章 变量

数据类型

+号的使用:

两边都是数值型,则做加法运算。若有一方为字符串,则做拼接运算,结果为字符串。

在这里插入图片描述

1 byte = 8 bit

引用数据类型{类class、接口interface、数组[]} String是一个类,字符串是引用类型

浮点数在机器中存放形式:浮点数=符号位+指数位+尾数位

java的浮点型常量默认为double

声明float型常量,须后加f或F。

5.12e^2 = 5.12*10^2

5.12e-2 = 5.12/10^2

double num = 8.1/3 输出不是2.7 是2.6999999…997

注意:当我们对运算结果是小数的进行相等判断要小心

应该是以两个数的差值的绝对值在某个精度范围内判断

Math.abs(num1-num2)<1e-6
char c1 = 97;//97对应ASCLL码是a,输出是a

在java中,char的本质是一个整数,在输出时,是Unicode码对应的字符。

char c1 ='a'+1; //输出b
c1 = c1+1;//报错 int→char
c1++;//不报错输出c

字符编码

ASCLL 一个字节表示,可表示256个字符,但只用128个字符。

Unicode 两个字节 字母和汉字都占2个字节,空间浪费

utf-8 字母1个字节 汉字三个字节

gdk 字母1个字节 汉字2个字节

类型自动转换

数据类型按精度大小排序:

char int long float double

byte short int long float double

注意:

(byte、short)和char之间不会自动转换

byte、short、char三者任一/混合计算,在计算时首先转换成int

强制类型转换

会造成精度损失或数据溢出

强转符号只针对最近的操作数有效,不要忘记加括号

基本数据类型和String类型的转换

基本类型转String:将基本类型+“ ”;

String转基本类型:通过基本类型的包装类调用parsexx方法

包装类只指包装基本数据类型的类

基本数据类型不是类,包装类才是类,都继承object 当传入基本数据类型的时候,其实是进行了自动装箱,传的是包装类的对象,因此可以传入object类型的形参中,实现多态。

String s = "123";
int num1 = Integer.parseInt(s);//必须是数字才能转换
int num2 = Double.parseDouble(s);
int num3 = Byte.parseByte(s);
int num4 = Float.parseFloat(s);
int num5 = Long.parseLong(s);
int num6 = Boolean.parseBoolean(s);

字符串转成字符

s.charAt(0);

字符数组转字符串

String str = new String(char[] chars);

或者

Arrays.toString(chars);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值