Java基本知识
Java基本知识
跟着狂神学Java,记录如下笔记
注释
书写注释是一个非常好的习惯
注释并不会被执行,是给人看的
写注释一样要注意规范
annotation
comment
-
Java中的注释有三种
-
单行注释
public static void //public static void //颜色不一样,第二行是文本 -
多行注释
public static void /* public static void */ -
文档注释
/** *@Description HelloWorld *@Author BlockWolfs */- @后面的字符将会识别
- 他们的内容是有意义的
-
关键字
| abstract | assert | boolean | break | byte |
|---|---|---|---|---|
| case | catch | char | class | const |
| continue | default | do | double | else |
| enum | extends | final | finally | float |
| for | goto | if | implements | import |
| instanceof | int | interface | long | native |
| new | package | private | protected | public |
| return | strictfp | short | static | super |
| switch | synchronized | this | throw | throws |
| transient | try | void | volatile | while |
标识符
Java所有的组成部分都需要名字
类名,变量名以及方法名都是标识符
- 注意
- 表示符号命名规则
- 以字母A-Z或a-z开头
- $或者下划线"_"字符开头
- 数字可以是标识符的一部分,但是不能作为开头
- 表示符号命名规则
数据类型
- 强类型语言
- 变量必须先定义
- 也称强变量类型语言
- 弱类型语言
- 变量可以不用先定义
- Java的数据类型
- 基本数据类型(primitive type)
- byte
- short
- int
- long
- float
- double
- char
- 引用类型(reference type)
- 类
- 接口
- 数组
- 基本数据类型(primitive type)
变量
type valueName [=value] [{,varName[=value]}];
Example
int num1 = 10;
byte num2 = 20;
short num3 = 30;
long num4 = 30L;//需要L表示该数字是long类型,默认是int类型
float num5 = 50.1F;//需要F表示该数字是float类型,默认是double类型
double num6 = 3.141592653589793238462643;
//布尔值:是非 true flase 占用1位值
boolean flag = true;
标识符后面取的名字是变量
字节
-
位(bit)
- 计算机内部数据存储的最小单位
- 11001100是一个八位二进制数
- 习惯上用b来表示
-
字节(byte)
- 计算机中数据处理的基本大卫
- 习惯上用B来表示
-
1byte=8bit
1B=8b
Java当中进制的表示
int decimal = 10; //十进制
int octal = 010; //八进制
int hexadecimal = 0x10; //十六进制
Java当中的一些容易犯的错误
float f = 0.1f;
double d = 1.0/10;
System.out.println(f==d);
float d1 = 23232323232323232f;
float d2 = d1 + 1;
System.out.println(d1==d2);
float能表示的范围有限
舍入误差
大约,接近但不等于
不建议直接对float类型进行不叫,可以使用BigDecimal类来对进行比较
字符类型
char c1 = 'a';
char c2 = '中';
System.out.println(c1);
System.out.println((int)c2); //强制类型转化
System.out.println(c2);
System.out.println((int)c2); //强制类型转化
System.out.println('\u0061');
所有的字符本质还是数字
使用 Unicode 编码表
\u0061 是一种转义转义字符
\t 制表符
\n 换行
String类型
String sa = new String("hello world");
String sb = new String("hello world");
System.out.println(sa==sb); //返回 false
System.out.println(sc.equals(sb)); //返回 true
==是判断两个字符串对象的内存地址(哈希地址)是否一致,来判断是否是同一个字符串对象
虽然字符串内容一致,但不是同一个字符串对象
需要使用字符串对象当中的equals方法来判断内容是否一致
类型转化
- 强制类型转换
- 类型由高到低
- 自动类型转换
- 类型由低到高
注意
- 不能对布尔值进行转化
- 不能将对象转化为不相干的类型
- 高容量转化为低容量的时候使用强制转化
- 转化的时候可能存在内存溢出或者精度损耗问题
char c = 'a';
int d = c + 1 ;
System.out.println(c);
System.out.println((char)d);
溢出
int money = 10_0000_0000;
System.out.println(money);
long money_1 = 10_0000_0000 * 20;
System.out.println(money_1);
long money_2 = 10_0000_0000 * 20L;
System.out.println(money_2);
第一个输出会产生溢出
第二个输出在运算过程中使用的是int类型,依然会溢出
第三个输出添加L就可以正常运算输出
变量的作用域
- 类变量
- 实例变量
- 局部变量
public class Demo08 {
//类变量 static
static double salary = 2500;
//实例变量,从属于对象 不用初始化
//如果不进行初始化,类型会有默认值
//boolean 默认值是false
String name;
int age;
public static void main(String[] args) {
//局部变量,必须声明和初始化值
int i = 10;
System.out.println(i);
//变量类型 变量名字 = new Demo08();
Demo08 demo08 = new Demo08();
}
//其他方法
public void add(){
}
}
常量
//修饰符不存在先后顺序
static final double PI = 3.14;
final static double pi = 3.14;
变量的命名规范
- 所有变量,方法,类名:见名知意
- 类成员变量
- 首字母小写
- 驼峰原则
- Example :monthSalary
- 局部变量
- 首字母小写
- 驼峰原则
- 类名
- 首字母大写
- 驼峰原则
运算符
Java语言支持的运算符
- 算术运算符
- +,-,*,/,%,++,--
- 赋值运算符
- =
- 关系运算符
- <,>,>=,<=,==,!=,instanceof
- 逻辑运算符
- &&,||,!
- 位运算符
- &,|,^,~,>>,<<,>>>
- 条件运算符
- ?,:
- 复合赋值运算符
- +=,-=,*=,/=
工具类
可以用很多工具类实现很多复杂的运算
double value = Math.pow(2,3);
System.out.println(vlaue);
字符串连接符 +
int a = 1;
int b = 2;
System.out.println(""+a+b);
System.out.println(a+b+"");
遇见String对象,自动转化为String
第一个输出先转化成String,不运算
第二个输出先运算,后转化成String
三目运算符
int socre = 50;
String type = score < 60 ? "不及格" : "及格";
System.out.println(type);
包机制
syntax
package pkg1[. pkg2[. pkg3...]];
一般利用公司域名倒置作为包名; com.kuangstudy.blod.www
package com.kuang.operator;
import java.util.Date;
package必须放在最上面
import com.kuang.base.*;
将包下的所有类都导入
JavaDoc
javadoc命令是用来生成自己API文档的
- 参数信息
- @author 作者名
- @version 版本号
- @since 指明最早使用的JDK版本
- @param 参数名
- @return 返回值情况
- @throws 异常抛出
生成Javadoc命令
javadoc -encoding utf-8 -charset utf-8 [java文件]
以上命令使用utf-8编码打开,生成的javadoc也是utf-8的文件
浙公网安备 33010602011771号