javase基础记录
一门面向对象的语言
java简史
发明人:Gosling
时间:1991成立Green项目,1995推出测试版,2004年jdk1.5,2014年jdk1.8
开发公司:由SUN公司开发的,现在被Oracle收购
最初应用:像电视盒这样的消费类电子产品
特点:跨平台。一次编译到处运行。
JVM:(java virtual machine ) java虚拟机,一个虚拟的用于执行bytecodes字节码的虚拟计算机。
安装jdk12
到官网下载,安装到指定目录
安装完是没有jre的
运行命令,生成JRE
bin/jlink.exe --module-path jmods --add-modules java.desktop --output jre
配置环境变量
新建JAVA_HOME jdk的安装目录
在path中新建添加两个
%JAVA_HOME%\bin
%JAVA_HOME%\jre\bin
确定,打开cmd
输入java -version 可以看见java版本
HelloWorld
新建一个java文件 helloworld.java
public class HelloWorld{
public static void main(String[] args){
System.out.println("HelloWorld");
}
}
cmd窗口到java文件目录下
使用javac 编译成class文件
javac HelloWorld.java
执行class文件
java HelloWorld
注意:
- java文件的名称必须与public class的名称一致
- 一个java文件中只能有一个public class
- main函数是所有java程序的入口,执行java代码必须拥有,且格式固定
- java代码在编写是,每行的结尾需要使用 ; 结束
- java的代码需要使用{ }括起来,前后匹配
java的注释
是程序员为读者做的说明,课提高代码的阅读性
// | 单行注释 |
---|---|
/* */ | 多行注释 |
/** */ | 文档注释 |
反编译工具:jd-gui.exe luyten-0.5.4.exe
基本语法
标识符
命名规则
- 必须以字母、下划线、美元符号开头
- 其他部分可以是字母、下划线、美元符号、数字,但不能是特殊符号
- 大小写敏感
- 不能是java的关键字
- 常用规范:驼峰标识、见名知意
字符集简介
ASCII:英文字符集 一个字节
ISO8859-1:西欧字符集 一个字节
BIG5:*的大五码 表示繁体字 2个字节
GB2312:大陆最早使用的简体中文 2个字节
GBK:2312的扩展 繁体中文 2个字节
GB18030:最新GBK的扩展,表示汉字、*文、藏文的字符 2个字符
Unicode:国际通用字符集 2个字节
UTF-8:可边长的字符编码
基本数据类型
java是一种强类型语言
常量是有数据类型的
变量都是必须声明其数据类型
四类八种:字符、整数、浮点、布尔
数据类型 | 意义 | 范围 |
---|---|---|
char | 字符 | 2个字节 使用单引号’’ |
byte | 字节 | -128 到 127 |
short | 短整 | -32768 到 32767 |
int | 整数 | 2的负31次方 到 2的31次方-1 正负21亿 |
long | 长整 | 2的负63次方 到 2的63次方-1 尾数需要加L |
float | 单精度 | 尾数需要加F |
double | 双精度 | 默认是double |
boolea | 布尔 | false true |
常量与变量
常量:在程序运行过程中,值不会发生改变的量。
变量:在程序运行过程中,值可能会变的量。
变量声明格式:
- 先声明,后赋值 int a;a=10;
- 声明+赋值 int a=10;
成员变量:方法外定义的变量。会存在默认值
局部变量:在方法内定义的变量。不存在默认值
fianl修饰的变量就是常量。
运算符
按照优先级排序优先级:
运算符 | 结合性 |
---|---|
()、[]、{} | 从左到右 |
++、–、正负号、!、~ | 从右向左 |
乘除 | 从左向右 |
加减 | 从左向右 |
<<、>> 、>>> | 从左向右 |
>, <, >=, <=, ==, != | 从左向右 |
==、!= | 从左向右 |
&、^、| | 从左向右 |
三目、条件 | 从左向右 |
&&、|| | 从左向右 |
(表达式)?value1:value2 | 从右向左 |
= 、+=、-=、*=、/=、&=、^=、|=、>>=、<<=、>>>= | 从右向左 |
注意:当使用±*/等计算时,byte、short会自动转换成int型。但使用扩展运算符不会改变。
二进制
原码: 最高位是符号位,低位是数值的绝对值。
反码: 正数的反码是他原码、负数的反码是保留符号位其他为取反。
补码: 正数的补码是他原码,负数的补码是反码加一。
基本数据类型的转换
在赋值运算和算术运算时,要求数据类型必须一致。
自动转换(隐式转换):在运算过程中,如果类型不一致,会自动把小的类转换成大的类型。
强制转换:可以手动把大的数据类型转换成小的类型。但会损失精度。
流程控制语句
在结构化程序设计中规定的三种基本结构;顺序结构、分支结构、循环结构。
选择结构
//单分支语句
if(表达式){
//code
}
//双分支语句
if(表达式){
//code
}else{
//code
}
//多分支语句
if(表达式){
//code
} else if(表达式){
//code
} else {
//code
}
//switch多分支,可以使用byte short int char enum(枚举),jdk1.7之后值可以是String
switch(表达式){
case value1:
语句;
break;
case value2:
... ;
default:
默认语句}
循环结构
//while循环,先判断,后循环
while(表达式){
循环体;
}
//do....while循环,先循环,再判断
do{
循环体;
}while(表达式);
//for循环,条件可以不写默认true。运行顺序1234
for(1初始变量;2条件判断;4迭代){
3循环体;
}
跳转指令
break:跳出循环
continue:跳过本次循环
return:从当前方法退出,返回到调用方法。
数组
数组是有相同类型数据的有序集合。相同类型的数据,安装一定的先后顺序组合而成,其中每一数据称为数组元素,每个元素可以通过下标查找。
一维数组
int[] ints = new int[数组长度];
二维数组
int[][] ints = new int[一维长度][];
//再给二维赋值
ints[0] = new int[二维长度];
数组特点:长度固定,类型相同,可以是基本数据类型或者引用数据类型
数组元素的默认值:
int、short、long、false、double类型:0
布尔类型;false
引用类型:null
上一篇: 正则表达式的属性和方法
下一篇: Java isDigit()