java变量与运算符_第1页
java变量与运算符_第2页
java变量与运算符_第3页
java变量与运算符_第4页
java变量与运算符_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

java变量与运算符.关1键字与保留字关键字的定义和特点定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词)特点:关键字中所有字母都为小写*官方地址:保留字v:现有Java版本尚未使用,但以后版本可能会作为关键字使用。自己命名标识符时要避免使用这些保留字goto、const标识符标.识符:Java对各种变量、方法和类等要素命名时使用的字符序列称为标识符技巧:凡是自己可以起名字的地方都叫标识符。定.义合法标识符规则:•由26个英文字母大小写,0-9,—或$组成数字不可以开头。不可以使用关键字和保留字,但能包含关键字和保留字。Java中严格区分大小写,长度无限制。标识符不能包含空格。中a勺名称命名规范:包名:多单词组成时所有字母都小写:xxxyyyzzzxxxYyyZzz类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzzxxxYyyZzz变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:•常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ变量1变.量的概念:内存中的一个存储区域该区域的数据可以在同一类型范围内不断变化变量是程序中最基本的存储单元,包含变量类型、变量名和存储的值2变.量的作用:用于在内存中保存数据3使.用变量注意:•Java中每个变量必须先声明,后使用使用变量名来访问这块区域的数据•变量的作用域:其定义所在的一对{}内

・变量只有在其作用域内才有效同一个作用域内,不能定义重名的变量(1)声明变量语法:<数据类型><变量名称〉,例如:intvar;(2)变量的赋值语法:<变量名称〉=<值>,例如:var=10;(3)声明和赋值变量语法:<数据类型><变量名〉=<初始化值〉,例如:intvar=10;4.变量的分类:(1)按数据类型,对于每一种数据都定义了明确的具体数据类型(强类型语言),在内存中分配了不同大小的内存空间.^^l(floatdouble)「整数类型側徐horti.^^l(floatdouble)(primitivetypefj字箝型(char)(D按声明的位置的不同*在方法体外,类体内声明的变量称为成在方法体内部声I癮称为局部变量。丄亠I麴变量利曲㈱)二者在初始化值方面的异同:二者在初始化值方面的异同:方泳犍耕定躺餐)/—I—,.—I•——.同:都有生命周期5.基本数据类型嗜:局部变量除形参外,需显式初始化。5.基本数据类型肿】曲擲麻Nf加呻业加打1整数类型:byte(1字节)、short(2字节)、int(4字节)、long(8字节)Java各整数类型有固定的表数范围和字段长度,不受具体OS的影响,以保证java程序的可移植性。java的整型常量默认为int型,声明long型常量须后加T或‘L'java程序中变量通常声明为int型,除非不足以表示较大的数,才使用long浮点类型:float(4字节)、double(8字节)与整数类型类似,Java浮点类型也有固定的表数范围和字段长度,不受具体操作系统的影响。浮点型常量有两种表示形式:(1)十进制数形式:如:5.12,512.0f,.512(必须有小数点)(2)科学计数法形式:如:5.12e2,512E2,100E-2float:单精度,尾数可以精确到7位有效数字。很多情况下,精度很难满足需求。double:双精度,精度是float的两倍。通常采用此类型。Java的浮点型常量默认为double型,声明float型常量,须后加‘f'或‘F'。字符类型:char(2字节)char型数据用来表示通常意义上“字符”

・Java中的所有字符都使用Unicode编码,故一个字符可以存储一个字母,一个汉字,或其他书面语的一个字符。字符型变量的三种表现形式:字符常量是用单引号(‘’)括起来的单个字符。如charcl='a';charc2='中';charc3=9;Java中还允许使用转义字符、’来将其后的字符转变为特殊字符型常量。如charc3=‘\n';//'\n'表示换行符直接使用Unicode值来表示字符型常量:‘\uXXXX'。其中XXXX代表一个十六进制整数。^D\uOOOa表示\n。char类型是可以进行运算的。因为它都对应有Unicode码。ASCII码:不能表示所有字符。相同的编码表示的字符不一样:比如,130在法语编码中代表了氏在希伯来语编码中却代表了字母GimelUnicode编码:—种编码,将世界上所有的符号都纳入其中。每一个符号都给予一个独一无二的编码,使用Unicode没有乱码的问题。Unicode只规定了符号的二进制代码,却没有规定这个二进制代码应该如何存储。・无法区别Unicode和ASCII:计算机无法区分三个字节表示一个符号还是分别表示三个符号。另外,我们知道,英文字母只用一个字节表示就够了,如果unicode统一规定,每个符号用三个或四个字节表示,那么每个英文字母前都必然有二到三个字节是0,这对于存储空间来说是极大的浪费。UTF-8:UTF-8是在互联网上使用最广的一种Unicode的实现方式。UTF-8是一种变长的编码方式。它可以使用1-6个字节表示一个符号,根据不同的符号而变化字节长度。UTF-8的编码规则:对于单字节的UTF-8编码,该字节的最高位为0,其余7位用来对字符进行编码(等同于ASCII码)。对于多字节的UTF-8编码,如果编码包含n个字节,那么第一个字节的前n位为1,第一个字节的第n+1位为0,该字节的剩余各位用来对字符进行编码。在第一个字节之后的所有的字节,都是最高两位为"10",其余6位用来对字符进行编码。布尔类型:booleanboolean类型用来判断逻辑条件,一般用于程序流程控制boolean类型数据只允许取值true和false,无null。Java虚拟机中没有任何供boolean值专用的字节码指令,Java语言表达所操作的boolean值,在编译之后都使用java虚拟机中的int数据类型来代替:true用1表示,false用0表示。6.基本数据类型变量间转换(1)自动类型转换:容量小的类型自动转换为容量大的数据类型。数据类型按容量大小排序为:char弋有多种类型的数扌据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算。•byte,short,char之间不会相互转换,他们三者在计算时首先转换为int类型。boolean类型不能与其它数据类型运算。任何基本数据类型的值和字符串(String)进行连接运算时(+),基本数据类型的值将自动转化为字符串(String)类型。字符串类型:StringString不是基本数据类型,属于引用数据类型使用方式与基本数据类型一致。例如:Stringstr="abed";•—个字符串可以串接另一个字符串,也可以直接串接其他类型的数据。例如:str=str+"xyz";System.out.println(3+4+"Hello!");〃输出:7Hello!System.out.println("Hello!"+3+4);//输出:Hello!34System.out.println(‘a'+1+"Hello!");//输出:98Hello!

System.out.println("Hello"+‘a'+1);//输出:Helloal强制类型转换自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符:(),但可能造成精度降低或溢出,格外要注意。通常,字符串不能直接转换为基本类型,但通过基本类型对应的包装类则可以实现把字符串转换成基本类型。女如Stringa=“43”;inti=Integer.parseInt(a);boolean类型不可以转换为其它的数据类型。关于进制:所有数字在计算机底层都以二进制形式存在。二进制:Java整数常量默认是int类型,当用二进制定义整数时,其第32位是符号位;当是long类型时,二进制默认占64位,第64位是符号位二进制的整数有如下三种形式:(1)原码:直接将一个数值换成二进制数。最高位是符号位(2)负数的反码:是对原码按位取反,只是最高位(符号位)确定为1。(3)负数的补码:其反码加1。计算机以二进制补码的形式保存所有的整数。(4)正数的原码、反码、补码都相同为什么要使用原码、反码、补码表示形式呢?根据运算法则减去一个正数等于加上一个负数,即:1-1=1+(-1)=0,所以机器可以只有加法而没有减法,这样计算机运算的设计就更简单了。十进制与二进制互转:moi]計[ionoom]g=。吧no呱+ini1111]*=[0000odoo]^[oooo0000]j二进制转成十进制:乘以2的幕数十进制转成二进制:除以2取余数2.4运算符运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。算术运算符赋值运算符:=,+=,-=,*=,/=,%=比较运算符(关系运算符):==,!=,<,>,<=,>=,instanceof,检查是否是类的对象,如"Hello"instanceofString,true逻辑运算符:&:逻辑与,|:逻辑或,!:逻辑非,&&:短路与,||:短路或,人:逻辑异或(1)“&"和“&&"的区别:单&时,左边无论真假,右边都进行运算;双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。(2)“|"和“||"的区别同理,||表示:当左边为真,右边不参与运算。(3)异或(人)与或(|)的不同之处是:当左右都为true时,结果为false。理解:异或,追求的是“异"。位运算符:<<,>>,>>>(无符号右移),&,|,人,〜(位运算是直接对整数的二进制进行的运算)三元运算符:(条件表达式)?表达式1:表达式2;true选择表达式1,false选择表达式2。2.5程序流程控制顺序结构程序从上到下逐行地执行,中间没有任何判断和跳转。•分支结构根据条件,选择性地执行某段代码。有if・・・else和switch-case两种分支语句。循环结构根据循环条件,重复性的执行某段代码。有while、do-while^for三种循环语句。注:JDK1.5提供了foreach循环,方便的遍历集合、数组元素。1顺序结构:Java中定义成员变量时采用合法的前向引用2.分支语句:(1)if-else结构:条件表达式必须是布尔表达式(关系表达式或逻辑表达式)、布尔变量(2)switch-case结构:switch(表达式)中表达式的值必须是下述几种类型之一:byte,short,char,int,枚举(jdk5.0),String(jdk7.0);case子句中的值必须是常量,不能是变量名或不确定的表达式值;break语句用来在执行完一个case分支后使程序跳出switch语句块;3•循环结构:在某些条件满足的情况下,反复执行特定代码的功能for循环:for(①初始化部分;②循环条件部分;④迭代部分){③循环体部分;}初始化部分可以声明多个变量,但必须是同一个类型,用逗号分隔①可以有多个变量更新,用逗号分隔④while循环:①初始化部分while(②循环条件部分){循环体部分;迭代部分;}do-while循环:do-while循环至少执行一次循环体。①初始化部分;do{循环体部分迭代部分}while(②循环条件部分);嵌套循环:将一个循环放在另一个循环体内,就形成了嵌套循环。4.特殊关键字的使用:break、continuebreak只能用于switch

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论