java第一天学习笔记

时间:2022-05-30 05:29:45

第一天java学习笔记

软件:一系列按照特定顺序组织的计算机数据和指令的集合

开发:制作软件

软件实现了人与计算机之间更好的交互(图形化界面,命令行方式)

一、命令行dos命令

1、dir:列出当前目录下的文件以及文件夹

2、md:创建目录

3、rd:删除目录

4、cd:进入指定目录

5、cd..返回到上一级目录

6、del:删除文件支持*

7、exit:退出cmd命令

8、echo:输出文件可以使用管道

Java是sun(Stanford university  network)1995推出的高级编程语言,面向Internet的编程语言,是简单易学,完全面向对象,安全可靠,与平台无关的编程语言,JVM(javavirutalmachine)虚拟机(跨平台)

JDK编译程序,还包含JRE,JRE只能运行已编译过的java程序(JVM)

一个java文件中可以写多个类,但编译时,生成多个class文件,main函数是程序的入口会被JVM所调用

 

标识符:由26个英文字母,0-9,_$,数字不可以开头,不可以使用关键字

包名:多单词组成所有字母小写xxyyzz

类名和接口名:XxxYyyZzzz

变量名和方法名:xxxYyyZzz

常量名:XXX_YYY_ZZZZ

写代码时可以先把注释写好(即实现功能的思路),在写代码

字符常量:将一个数字字母或者符号用单引号(‘’)标识

十进制到二进制原理:对十进制数进行除2运算余数倒写

6的二进制为110

二进制到十进制原理二进制乘2的过程,从2^(0)开始

110=2^2+^2^1+2^0

八进制到16进制(0X开头)

四个二进制位为一个十六进制为

90的二进制0101(5)-1010(A)十六进制0x5A

三个二进制代表一位八进制数01(1)011(3)010(2)90八进制132

负数的二进制表现形式:

6=110

-6:其实是6的二进制取反(将二进制0变1,1变0)+1

0000-00000000-00000000-00000000-0110

取反1111-11111111-11111111-11111111-1001

+11111-11111111-11111111-11111111-1010=-6

计算机中所有的数据都是以二进制来表示,一个二进制代码称为一位,记bit,以8位二进制代码为一个单元存放在一起,为一个字节(byte),一个汉字二个字符,char,short一个字节(ASCII ),int2个字节,long,float4个字节,doouble8个字节

char 在java中是2个字节 java采用unicode

 

 

 

 

负数的最高位为1

基本数据类型

数值型

整数类型(byte(8个二进制位),short(16个二进制位),int(32个二进制位),long(64个二进制位))浮点类型(默认double)(float(),doouble(8个8位))

字符型char

布尔型boolean

数据类型变量名=初始化值;

Longl=4l;

Floatf=2.3f;

低级别向高级别转换(byte,short,char,int,long,float,double)其中(byte,short,char在计算时会先转化为int型)

 

运算符

字符串连接用(+)

System.out.println();  // 打印后换行

转义字符(写在被转义字符的前面)

\n   换行

\b:退格

\r:回车键。Windows中回车由两个字符表示\r\n

\t:制表符,tab键

Char c ='你';

 

Short s =4;

s=s+5   出错

s+=5      等价于 s=(short)s+5(只做赋值运算,自动完成强制转换) 正确

逻辑运算符

^ 异或 两边相同为假,不同为真

&  (无论左边是true,false右边都运算)       &&(短路,当左边不成立不会对右边进行判断)

|  (都运算)  ||(短路,左边为真,右边不运算)

 

<<  3<<2 =12=3*2^(1)   0000-0000 0000-0000 0000-0000 0000-0011

左移二位0000-0000 0000-0000 0000-0000 0000-1100

>>    6>>2=1=6/(2^(2))  6>>1=3;  最高位补什么由原有数据最高位而定

>>>(无符号运算符)  无论最高位是什么都用0补

&   6&3=2    110&011对应位1&0为0(假)1&1=1  0&1=0(010=2)

|

^

~  取反 110=6  取反 111…11001=-7  负数先-1再取反

一个数异或同一个数二次还是原数

2*8 最有效的方式2<<3 位

 

Int  n=2,m=8 变量变换

1、通过第三方变量

2、不用第三方变量

n=n+m; m=n-m; n=n-m; 如果n和m的值非常大,容易超出int范围

3、通过异或 n=n^m ;  m=n^m;  n=n^m;

 

将60转化为十六进制, 获取60的最低四位  num&15=12(12-10+'A'),获取下一个四位将60 右移4位 &15获取最低四位

 

三元运算符

(条件表达式?表达式:表达式2)

 

判断结构

if语句

 三种格式 : if else结构可用三元运算符代替

If   , else if ,….else if ,else   前面不执行才会执行下面的else if语句

 

选择结构

Value 只能为byte,short,int,char四种

switch(value){

case 取值1:

执行语句;

break;

case 取值2:

执行语句;

break;

case 4:

case 5:

执行语句(多个case对应一个语句)

default:

执行语句;

注:default(最后执行,无论放在那里,当执行了default之后,若没有停止,就不再判断是否满足default下面的case语句)

switch(3){

default:

System.out.println("a");

//Break;

case 4:

System.out.println("b");

//Break;

case 5:

System.out.println("c");

Break;

执行结果:abc

 

如果判断的具体数值不多,而是符合byte,short,int,char用switch语句效率高

JDK 7.0可判断字符串,JDK5.0后可判断枚举类型  cls dos下清屏

 

循环结构 

While(){} 先判断条件再执行

do{} while() 先执行在判断至少执行一次

for(初始化表达式;循环条件表达式;循环后的操作表达式){执行语句}

当要对某些语句执行很多次,用循环结构

for(式1,式11;式2;式3){

执行语句

}(先执行式1,式2是真还是假,真则执行语句,再执行式3)

无限循环的最简单表现形式 for(;;)    while(true){}

循环一定要注意那些语句需要参加循环

在for循环嵌套时,注意循环中语句执行的顺序

 

其他流程控制语句

break语句应用于选择结构和循环结构  跳出break所在的循环,标号只用于循环结构,break后面的语句也不会执行

W:for(){

for(){

break:W;

continue 用于循环结构    结束本次循环,继续下次循环,continue下面的语句不会执行

 

函数:定义在类中具有特定功能的一段独立程序,(方法)

函数格式:修饰符 (public ,private)返回值类型(void,int...)  函数名(参数类型 形式参数1 ...){

执行语句

Return 返回值

函数特点: 可以将功能代码进行封装,只有在调用时才会被执行,提高代码复用性,不可以在函数内部定义函数(main函数)

函数重载:与参数类型不同,及参数个数不同有关和返回值无关

 

数组:同一种数据类型的集合,等价于一个容器

数组好处:自动给存入的元素编号

格式1   元素类型 [ ] 数组名 = new 元素类型[元素的长度]

 

内存结构:栈内存stack (数据使用完毕会自动释放,存放局部变量),堆内存heap(new出来的对象,java垃圾回收器定期清除垃圾)