欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

javase基础记录

程序员文章站 2022-03-16 08:49:55
...

一门面向对象的语言

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

注意:

  1. java文件的名称必须与public class的名称一致
  2. 一个java文件中只能有一个public class
  3. main函数是所有java程序的入口,执行java代码必须拥有,且格式固定
  4. java代码在编写是,每行的结尾需要使用 ; 结束
  5. java的代码需要使用{ }括起来,前后匹配

java的注释

是程序员为读者做的说明,课提高代码的阅读性

// 单行注释
/* */ 多行注释
/** */ 文档注释

反编译工具:jd-gui.exe luyten-0.5.4.exe

基本语法

标识符

命名规则

  1. 必须以字母、下划线、美元符号开头
  2. 其他部分可以是字母、下划线、美元符号、数字,但不能是特殊符号
  3. 大小写敏感
  4. 不能是java的关键字
  5. 常用规范:驼峰标识、见名知意

字符集简介

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

常量与变量

常量:在程序运行过程中,值不会发生改变的量。

变量:在程序运行过程中,值可能会变的量。

变量声明格式:

  1. 先声明,后赋值 int a;a=10;
  2. 声明+赋值 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