java 基础知识1

来源:互联网 发布:如何恢复数据 编辑:程序博客网 时间:2024/06/04 06:09

java对大小写敏感

java中的关键字

abstract(抽象的) continue(继续) for(当„的时候) new(新建)switch(转换)

assert(断言) default(默认) if(如果) package(打包) synchronized(同步)

boolean(布尔) do(做)goto(跳转到)private(私有的)this(这个)

break(中断) double(双精度) implements(实现)protected(受保护的)throw(抛出,动词)

byte(字节) else(否则) import(引入) public(公共的) throws(抛出,介词)

case(情形) enum(枚举) instanceof(是„的实例)return(返回)transient(瞬时的)

catch(捕获) extends(继承) int(整数) short(短整数)try(尝试)

char(字符) final(最终的) interface(接口) static(静态的) void(空的)

class(类) finally(最终地) long(长整数) strictfp(精确浮点) volatile(易变的)

const(常量) float(单精度浮点) native(本地的) super(超级的) while(当„的时候)

java类名命名规范

类名要有意义,一般是一个或多个英文单词(尽量避免使用汉语拼音);类名以大写字母来开头,如果名字由多个单词组成,每个单词的第一个字母都应该大写(这种书写方式称为CamelCase,骆驼命名法)。

源文件文件名必须与文件中定义的public 类相同并用.java作为扩展名。(可以把多个类放入一个文件,只能有一个public类,内部类public有其他意义,多个类编译产生多个.class文件。有内部类文件名为xxxx$xxx.class)

System是java的一个内置类,out是这个类的一个属性。System.out对象调用println方法。

java程序方法定义的规范

方法名以小写字母开头,如果方法名需要多个单词组成,那么除第一个单词外,后面每个单词第一个字母都使用大写

一个完整的java程序运行过程



从图中可以看出,一个完整的java程序运行过程包括一次编译、一次解释两个阶段。在编译时,java软件源文件从编写他们所用的文本格式转换成字节码存储在。class中,在运行时,组成java软件程序的字节码被加载、检查,然后在解释器运行。解释器有两个功能,执行字节码以及正确调用底层硬件。

java三种注释


  • 单行注释      最常用注释,注释内容从//到该行结束
  • 多行注释/*

        *

       */也可以写在一行里嵌套在代码中。例如:

System.out.println("你好"/* 这里是注释*/);


  • 文档注释。以/**开始,*/结束,使用javadoc命令可以自动生成相应java源码的API说明文档



文档注释的常用标签

标签

含义

适用范围

举例

@author

作者

文件,类,方法                                    

@author NZs                                         

@param                     

输入参数说明                      

方法

@param str 用于存放XXX信息                                                                      

@return

输出参数说明

方法

@return true 执行成功

@since    

标记编译该文件所需要的jdk环境版本                                                                       

方法,类

@since jdk1.6

@version

版本号

文件,类,方法

@version 1.0

@throws

方法可能抛出的异常

方法

@throws IOException 

@deprecad

解释标记对象过期

文件类方法

@link                

l连接一个地址


字符在程序内部可以参与运算,其实运算的是这个字符的编码,字符集规律是很多字符变换逻辑实现的基础。字符的显示通过专门的字符显示码实现

网络编程的本质是两个设备间的数据交换,现在的网络编程基本上都是基于请求/响应方式的。

数据传输方式:tcp udp

Tcp:是一种稳定可靠的传输方式,只需要建立一次连接就可以多次传输数据。优点是稳定可靠,缺点是建立连接和维持连接的代价高传输速度不快

Udp:不可靠的传输方式,数据有可能收不到,系统只保证尽力发送

优点是开销小传输速度快,缺点是数据有可能丢失

协议(protocol)是网络编程中一个非常重要的概念,指的是传输数据的格式

一般程序的协议都分为客户端发送的数据格式,以及服务器端反馈的数据格式,客户端和服务器端都遵循该格式生成或处理数据,实现两者间的复杂数据交换。

程序分为解释程序和编译程序

解释程序就是运行环境一句句读取源代码,然后执行编译程序,是将源代码一次翻译成计算机操作系统可以直接执行的机器指令的文件。

Java是一种半编译半解释的语言

标识符,

也就是标识的符号,指程序中一切自己指定的名称例如:变量名,常量名、数组名、方法名、参数名、类名、接口名、对象名等

其实程序中除了一些分割符号。如空格、括号、和标点符号外只有三类名称

1.      关键字

2.      系统功能名称

如System.out.println中的System、out、和println

3.      标识符

标识符的命名规则

1.      不能是关键字

2.      只能以字母,下划线和美元符号开头

需要特别注意的是标识符不能以数字开头

3.     不能包含特殊字符,例如空格括号和标点符号等等

通常情况下,标识符一般全部是字母,或者使用字母和数字的组合

Java基本数据类型八种四类

整数型:byte(字节型)、short(短整型)、int(整型)、long(长整型)

小数型:float(单精度浮点型)、double(双精度浮点型)

字符型:char

布尔型:boolean

整数型参数表

类型名称

关键字

占用空间

取值范围

默认值

字节型

Byte

1Byte,8bit

-2^7----2^7-1(-128---127)

0

短整型

Short

2Byte  16bit

-2^15----2^15-1(-32768---32767)

0

整型

Int

4Byte   32bit

-2^31----2^31-1

0

长整型

Long

8Byte   64bit

-2^63----2^63-1

0

说明:

1.      java中都是有符号数,也就是有正有负

2.      默认值指在特定的情况下才自动初始化,

3.      程序中整数数值默认是int及int以下的类型,若要写long型,需在数值后面添加字幕L大小写均可

4.      程序默认十进制,八进制以数字符号0开头,如016十六进制以数字符号0和字幕x开头,如0x12

小数型参数表

类型名

关键字

占用空间(字节)

取值范围

有效数字

默认值

单精度浮点型

Float

4

-3.4E+38---3.4E+38

6---7

0.0f

双精度浮点型

Double

8

-1.7E+308---1.7E+308

15

0.0


说明:

1.      取值范围以科学计数法形式描述

2.      在程序中小数的你运算速度要低于整数运算

3.      Float类型的小数,要在其后加字母f

字符型

Java使用Unicode字符集作为默认的字符集,该字符集包含各种语言中常见的字符

数据类型

关键字

占用空间(字节)

取值范围

默认值

字符型

Char

2

0-216-1

0


说明:

1.      字符型的编号不包含负数

2.      字符型由于存储的是编号的数值,所以可以参与数学运算

3.      可以作为java语言的无符号整数使用

4.      字符型的默认值是编号为0的字符,而不是字符0

布尔型参数表

类型名称

关键字

占用空间

取值范围

默认值

布尔型

Boolean

 

True false

False


布尔型占用的空间取决于java虚拟机(JVM)的实现,可以是1位也可能是1个字节

常量在程序运行中的两个作用

1.      代表常数,便于程序的修改

2.      增强程序的可读性

常量的语法格式:

Final 数据类型 常量名称 = 值  (常量名要大写)

常量,变量的作用范围:

从变量声明的位置开始,一直到变量生命所在的语句块结束的大括号为止

数据类型转换:

Java强类型语言,有以下要求:

1.  变量名或常量必须有类型

2.  赋值时类型必须一致

3.  运算时类型必须一致

自动类型转换

由存储范围小的类型到存储范围大的类型

Byte--->short(char)---->int--->long--->float---->double

注:在整数之间进行类型转换时数值不发生改变,而将整数类型,特别是比较大的整数类型转换成小数类型时,由于存储方式不同,有可能存在数据精度的损失

强制类型转换:(会造成精度损失)

(转换到的类型)需要转换的值

 

在算数运算符部分,需要注意“晋升”现象,指低于int的3种数字类型(byte,short,char)进行算数运算后,结果会自动晋升为int类型

 

移位运算符

<<带符号左移 >>带符号右移>>>无符号右移

在移位运算时,byte,short和char移位后结果变成int类型,

对于byte,short,char,和int进行位移时,规定实际移动的次数是移动次数和32的余数

移动long型数值时,实际移动次数是移动次数和64的余数

<<带符号左移

左移n位相当于乘以2的n次方

>>带符号右移

右移一位相当于除于2,右移n

递增和递减运算符 ++  --

int n = 1;int m =1;n++; //n的值变为2++m//m的值变为2Int k = n++;//n的初始值是2,则n++的值是2,结果n的值为3.k的值为2Int j =++m;//m的初始值为2,则++m的值为3,,结果m值为3,j为3;


条件运算符(三目运算符)

条件式?值1:值2

流程控制

流程控制在程序语言实现时,通过三类控制语句进行实现

1.      顺序语句

2.      条件语句

3.      循环语句

switch 在条件语句中特别适合做一组变量相等的判断

switch(表达式){

          case值1:

                   功能代码 1;

                   [break]

         Case值 2;

                   功能代码2

                   [break;]

         Default:

功能代码1;

                   [break;]

}

1.      表达式类型只能为byte,short,char,int,枚举类型,String(jdk1.7之后)

2.      Case 后的值只能为常数或常量,不能为变量

3.      功能代码部分可以写任意多句

4.      Break 关键字的意思是中断,指结束switch语句,break语句为可选

5.      Case语句可以有任意多句,是标号语句

6.      Default语句可以写在switch语句的任意位置,功能类似if语句中的else

注:如果case分支语句末尾没有break,就会执行完当前case后直接执行下一个case分支

 

Break和continue

Break中断本层循环,break+ 标签跳出外层循环

Continue 只能使用在循环语句内部,功能是跳过该次循环继续执行下一次循环结构

变量在栈内存,对象在堆内存

^ 按位异或(相同为0不同为1) ~按位取反

System.out.println(true^true);//flaseSystem.out.println(true^false);//true

转义符

//System.out.println(“\\”); 错误//System.out.println(“'\\'”);错误//System.out.println('\\');/*正确 输出\;*///System.out.println('\\\');错误//System.out.println('\\\\'); 错误//System.out.println('\\'+'\\'); 正确,输出184(长度小于int型,运算结果都会转变成int型)//System.out.println('\\'+""+'\\'+""); 正确,输出\\

转义符

\b     backspace  \u0008

\t     制表符                  \u0009

\n     换行符                 \u000a

\r                回车                   \u000d

\”               半角双引号           \u0022

\’                半角单引号             \u0027

\\                反斜杠                       \u005c

增强for循环

for (String s : r) {//遍历r数组System.out.println(s);}

Java 获得字符的Unicode码

1. char—>int—>16进制(Integer.toHexString((int)'a'))

2.      bin\native2ascii.exe

3.      getBytes;

 

 

 





0 0
原创粉丝点击