(一)java从零开始

来源:互联网 发布:java 线程安全的list 编辑:程序博客网 时间:2024/05/22 02:04

一。人与计算机交互的方式

1⃣️图形化界面:直白

2⃣️命令行方式:指令行,需要记忆。

3⃣️语音交互

二。DOS命令介绍

d:盘符切换

dir:列出当前目录下的文件和文件夹

md:创建目录

rd:删除目录

cd:改变指定目录

cd..:返回上一级目录

cd\:退回到根目录

del:删除文件    del *.java

cls:清屏

exit:退出

三。java发展史

java之父         詹姆斯·高斯林

命名原因:印度爪哇岛。(因为其喜欢喝咖啡)

java公司sun➡️oracle       甲骨文公司老板32岁以前还是一无所有

javase:桌面应用开发

javame:嵌入式安卓开发

javaee:企业版开发,web应用程序开发

四。java语言特点

1⃣️简单性

2⃣️面向对象

3⃣️分布式处理:多线程,很多地方同时开始工作

4⃣️开源:可提交bug

5⃣️跨平台:.exe          .dmg

java是跨平台的还是jvm是跨平台的

java跨平台的,通过jvm实现的,java的跨平台性,java的可移植性很好。

五。JRE和JDK

JRE:jvm(java虚拟机)和java程序所需的核心类库                      想要运行java程序足够了

JDK:包含了java开发工具和JRE。   编译工具(javac.exe)     运行工具(java.exe)

六。java中注释的分类方式(注释只存在于编译时期)

单行注释 :  //

多行注释 :  /**/用于功能块

文档注释:/**     */          用于方法或类上

main介绍

jvm运行需要一个入口,main就是入口

七。java语法

关键字概述

被java语言赋予特定含义的字

组成关键字的单词全部小写

标识符:给类,接口,方法,变量等起名字的字符序列

组成规则:英文字母。 阿拉伯数字。 $和_

注意事项:不能数字开头。区分大小写。不能关键字起名字。不能有空格和各种符号

八。四大类的标识符规则

包:(包就是文件夹,解决同名)公司域名反转起名字。 全部小写

类和接口:每个首字母大写。 Simple          SimpleDate

方法和变量:全部小写。     多个单词的话,从第二个单词开始,首字母大写 parserInt

常量:全部大写。       多个单词也全部大写,多个单词之间用_隔开

九。常量。(程序执行过程中其值不可以发生改变的量)

1⃣️字符串常量:用双引号扩起来的内容。 “Yoo Fale最帅”

2⃣️整数常量:所有的整数

3⃣️小数常量:所有的小数

4⃣️字符常量:单引号扩起来的内容。   “帅”

5⃣️布尔常量:只有两个值,要么true,要么false

6⃣️空常量:其值为null

自定义常量(自定义对象说)

十。各种进制

计算机电子元件中只能读出1和0 1代表开 0代表关。 

八个0/1组合表示一个字节,一个字节等于8个二进制

1byte=8bit

1m=1024byte

1g=1024m

1t=1024g

八进制,十进制,十六进制。

二进制转换为八进制,十进制,十六进制

十进制直接乘2的几次方,求和

八进制,十六进制,从右到左,每三位,四位为一组,左边不够补0,显示的数字即为转换后的数字

二进制:0b开头,01组成

八进制:0开头,0-7组成

十进制:默认(输出语句的结果都是十进制)

十六进制:以0x开头,由0-f组成

任意进制到十进制:位值乘以对应进制的次方

十进制到任意进制:除以进制数,余数从下往上写

8421码

1    1    1    1    1   1     1    1

128 64 32  16   8   4   2     1

x进制直接转换成y进制?

可以用十进制作为桥梁

原码反码补码

正数全一样

负数符号位总为1,反码数值位全反,补码是反码再加一

十一。变量 :其值在程序执行的过程中可以在一定范围之内发生改变的量

变量的定义格式;    数据类型    变量名= 初始化值   (变量必须先初始化参数)

十二。数据类型八种介绍(java是强类型语言,所以定义了各种数据类型)

数据类型:

基本数据类型:四类八种

整数类型:byte1, short2,int4 , long8(后面为字节数)

小数类型:float4, double8

字符类型:char2

布尔类型:boolean1(放在方法中 自己初始化,在类中系统初始化)

引用数据类型:

整数默认int,要声明为long,需要加l或者L

小数默认double,要声明为float,需要加f或者F

变量只在作用域范围内有效,在java中一个;代表一个语句的结束

同一行定义同一种数据类型的数据,中间用,不同数据类型最好分行定义

每个基本数据类型之间的运算规则

boolean不能进行运算。

byte,char,short不能直接运算,要先转换为int再计算


int a=3;byte b=4;System.out.println(a+b);

int a=3;byte b=4;int c=a+b;System.out.println(c);
如果为byte    c就不行。因为byteb自动转换为高精度的int了。

如果一定要byte格式,强转

目标数据类型    变量名 =(目标数据类型)(表达式)

数据类型做运算的转换规则。低精度向高精度转换

byte,char,short》int》long》float》double

强转 比如double转换为float,本身数据8位,强制转换就是截取了前4位,可能造成数据丢失

byte b1=3,b2=4,b;b=b1+b2;b=3+4;
变量相加,先提升精度,看接受的变量精度够不够,如果不够就报错,够的话计算结果并赋值,此例,3,4作为byte先转换为int,(byte,char,short都先转换)byte数据类型的b不能接受。
常量相加,先计算结果,看接受变量能不能接受,如果不能,再报错。 

  byte b =(byte)130结果?

整数在计算机都是以补码方式存储的,输出都是原码

130的二进制补码 00000000 00000000 00000000 10000010

截取8个二进制

补码:10000010

反码:10000001

原码:11111110=-126

数据类型和字符串相加结果都是字符串,遇到括号先计算括号里面的,遇到乘除先计算完,运算顺序:从左到右(字符参考ASC)

System.out.println('a');System.out.println('a'+1);System.out.println("hello"+'a'+1);System.out.println('a'+1+"hello");System.out.println("5+5="+5+5);System.out.println(5+5+"=5+5");

先字符串就是字符串,先数字就是数字。结果如下

a98helloa198hello5+5=5510=5+5