1.1 J2SE复习之Java语言基础

前言:只是复习Java的一些小知识点,天马行空,不成体系,望见谅!


常用命令行指令


dir :  列出当前目录下的文件以及文件夹(directory)
md :   创建目录(make directory)
rd :   删除目录(remove,要求目录为空才能删除)
cd :   进入指定目录
cd.. : 退回到上一级目录
cd\:   退回到根目录
del :  删除文件(特指文件,若del目录,表示删除目录内容,目录保留)
exit : 退出 dos 命令行


echo表示创建文件,name:Tom为写入TXT中的内容


*.doc表示所有doc文件


del 1表示删除目录1中的所有文件,但不删除目录本身


1.Java三大特性:封装,继承,多态,核心机制为JVM和GC。


2.Java类间单继承,接口间多继承


3.JDK1.8即JDK8.0,J2EE即Java EE,J2SE即Java SE


4.对应不同系统平台JVM(Java虚拟机,虚拟计算机)不同(JRE不同),JVM负责程序运行


5.源文件.java--->编译生成.class文件,即字节码文件


6.层次:硬件--》操作系统--》JVM--》负责执行字节码文件


环境变量的配置(在任何目录下均可运行命令)


配置path环境变量,path表示OS执行命令时的搜寻路径


classpath表示Java运行时寻找的class所在路径


%~%表示动态获取地址,对应变量JAVA_HOME(名字随意),便于地址改变时不需要重新配置路径





JDK即开发工具包括JRE(运行环境,包括类库和JVM),配置JRE的PC即可运行Java程序


javac.exe:编译工具

jar.exe:打包工具

java.exe:运行工具


运行时先cd到目录下,再javac hello.java(生成字节码文件)

再java hello(解释执行)

即执行程序,先编译,然后生成多个字节码文件,然后运行


public static void main(String[] args){}

//主方法,程序入口

System.out.printIn("");//有In表示写完换行


一个源文件(.java后缀)可以包含多个类,一个源文件编译生成多个字节码文件(字节码文件数量与类的数量一致,且以源文件中的各类名命名)


运行时只运行main方法所在类的字节码文件

这多个类中只有一个public类(可没有public类),若存在,则该类名必定与源文件名相一致。


注释


关注多行不可嵌套

/*   /* */(此处即结束) */


文档注释


格式

/**

@author liu

@version 1.1

*/


特点:可被javadoc解析,生成一套以网页文件形式体现的文档说明


javadoc -d 目录名 -author -version 源文件名.java


src.zip为存储源码的压缩包


标识符


Java保留字:现有Java版本尚未使用,但以后版本可能会作为关键字使用。

自己命名标记符时要避免使用这些保留字

byValue、cast、future、 generic、 inner、 operator、 outer、 rest、 var 、 goto 、const


Java 对各种变量、方法和类等要素命名时使用的字符序列称为标识符
凡是自己可以起名字的地方都叫标识符。


关键词字母均小写


命名规则


标识符可选取0-9,_,$,即大小写字母(大小写区分)

标识符无空格,不可数字开头

Static(Java区分大小写,对) static1(对)


命名规范(可不遵守)


包名:多单词组成时所有字母都小写:xxxyyyzzz
类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz(TestJava)
变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz(myInt/getId)
常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ


变量


内存中的一块存储区域

先声明(int a = 1;//要有初始化值,此处为显式初始化)后使用





Java各整数类型有固定的表数范围和字段长度,不受具体OS的影响,以保证java程序的可移植性。


java的整型常量默认为 int 型(如5为int类型),声明long型常量须后加‘l’或‘L’


附:remember整型所占字节


Java 浮点类型(带小数点)也有固定的表数范围和字段长度,不受具体OS的影响。
Java 的浮点型常量默认为double型,声明float型常量,须后加‘f’或‘F’
浮点型常量有两种表示形式:
十进制数形式:如:5.12       512.0f        .512   (必须有小数点
科学计数法形式:如:5.12e2      512E2     100E-2


float f1=12.3f;//报错,没F损失精度,因为浮点型默认为double,8字节放入4字节


long i1=2134;//不损失精度,因为默认int,小可放入大(4->8),但大不可放入小中


char两字节


char = 'ab';//error

String = "ab";//right


char型数据用来表示通常意义上“字符”(2字节)


字符型常量的三种表现形式:

1)字符常量是用单引号(‘ ’)括起来的单个字符,涵盖世界上所有书面语的字符(中文,英文等)。例如:char c1 = 'a';   char c2 = '中'; char c3 =  '9';


2)Java中还允许使用转义字符‘\’来将其后的字符转变为特殊字符型常量。

例如:char c3 = ‘\n’;  // '\n'表示换行符


3)直接使用 Unicode 值来表示字符型常量:‘\uXXXX’。其中,XXXX代表一个十六进制整数。如:\u000a 表示 \n


char类型是可以进行运算的。因为它都对应有Unicode码,'a'为97,'A'为65.


printIn("  \"帅哥\" ");//灵活使用转义字符,表示""


boolean类型数据只允许取值true和false,无null

不可以0或非 0 的整数替代false和true,这点和C语言不同


ASCII(一字节,首位规定为0,128个字符)-->Unicode(三字节)-->UTF-8(可变长度)


自动类型转换:容量小的类型自动转换为容量大的数据类型。数据类型按容量大小排序为:



有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算

     
byte,short,char之间不会相互转换,他们三者在计算时首先转换为int类型

如short+byte--->int(赋值给short类型变量:error)   char + byte --->int


当把任何基本类型的值和字符串值进行连接运算时(+),基本类型的值将自动转化为字符串类型。

String a1 = "ab" + 123;//yes

String a1 = ab;//error


string st1 ="12"<=>string st1 = 12 +"";

float a=12L;//不损失精度,关注上表,因为存储方式不同,float的一些位数为小数位

            //float用科学计数法表示



自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符(()),但可能造成精度降低(截取高位)或溢出,格外要注意


通常,字符串不能直接转换为基本类型,但通过基本类型对应的包装类则可以实现把字符串转换成基本类型。
如: String a = “43”; int i = Integer.parseInt(a);


boolean类型不可以转换为其它的数据类型。


补码为底层存储形式,关注-128的补码,先看-127的补码,然后减一


正数三码合一




除法:/

int i=12;

int d = 12/5;//2

double d = double(i/5);//2.0

double d = i/5;//自动类型转换,5为int,所以为2.0,不要忘了0啊

double d= (double)i/5;//2.4

double d1 = i/5.0;//自动类型转换,5.0为double,所以为2.4


int i1 = 12%5;//2

int i2 = -12%5;//-2

int i3 = 12%(-5);//2

int i4 = -12%(-5);//-2

符号取决于被模数


int myInt1 = 10;

int myInt2 = myInt1 ++;//先运算后++

sop(myInt1);//11

sop(myInt2);//10


int myInt1 = 10;

int myInt2 = ++ myInt1;

sop(myInt1);//11

sop(myInt2);//11


sop("\t"+"\n"+1);//字符串

sop('\t'+'\n'+1);//char类型,作和运算

char c1 = 'a';

sop((int)c1);//反常的强制类型转换{小变大},为了看c1的Unicode值

sop(c1+0);//同上equivalent







猜你喜欢

转载自blog.csdn.net/lwz45698752/article/details/79668515
1.1