成都传智播客,任小龙,Java基础02【Java基础上.ppt_第1页
成都传智播客,任小龙,Java基础02【Java基础上.ppt_第2页
成都传智播客,任小龙,Java基础02【Java基础上.ppt_第3页
成都传智播客,任小龙,Java基础02【Java基础上.ppt_第4页
成都传智播客,任小龙,Java基础02【Java基础上.ppt_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

成都传智播客教育 讲师:任小龙,讲师:任小龙(Will) Email:,Java 基础上,成都传智播客教育 讲师:任小龙,知识点,1.Java基本语法 2.Java的常量和变量 4.Java数据类型 5.Java基本数据类型转换 6.Java运算符,成都传智播客教育 讲师:任小龙,成都传智播客教育 讲师:任小龙,Java基本语法,任何一种语言都有自己的语法规则,所谓编程语法就是程序员和电脑交流的一种语言规则,好比汉语语法,既然是规则,那么知道其如何使用就可以了。 代码都定义在类中,类由class来定义,区分 public class 和 class; 代码严格区分大小写,如 main 和 Main 是不一样的; Java代码分为结构声明语句和功能执行语句,功能执行语句最后必须以分号结束,而且必须写在代码块或方法里。 主方法: public static void main(String agrs) 主方法是程序的入口,被JVM调用,保证程序的独立运行。 找不到主方法报错: 错误: 在类 Demo 中找不到主方法, 请将主方法定义public static void main(String args),成都传智播客教育 讲师:任小龙,三大注释,写代码的时候,给程序添加注释,用来记录程序的思维步骤和说明信息 是很好的编程习惯,其对后期的代码维护有很大的帮助。 为此,Java提供3种注释类型: 1.单行注释 /:在/后到本行结束的所有字符会被编译器忽略; 2.多行注释 /* */:在/* */之间的所有字符会被编译器忽略 3.文档注释 /* */:文档注释和多行注释功能一样,除此之外还可以专门生成文档信息API,后讲。,注意:多行和文档注释都不能嵌套使用,成都传智播客教育 讲师:任小龙,Java语言分隔符,分号(;):语句的分割,表示一句话结束,好比咱们使用的句号。 花括号():表示一个代码块,是一个整体,花括号要成对使用。 方括号():定义数组和访问数组元素时使用。 圆括号(()):使用很广泛,具体用到细讲。 圆点(.):类和对象访问它的成员时使用。 空格( ):把一整条语句分割成几段,空格的次数不限制。 注意:必须都是半角下的英文符号。,成都传智播客教育 讲师:任小龙,Java的关键字和保留字,成都传智播客教育 讲师:任小龙,标识符,为了增强程序的阅读性而自定义的名称。比如:类名,方法名,变量名等。 命名规则: (1) 由字母、数字、下划线、$组成,不能以数字开头 注意:此处的字母还可以是中文,日文等; (2) 大小写敏感; (3) 不得使用java中的关键字和保留字; (4) 别用Java API里面的类名作为自己的类名。,成都传智播客教育 讲师:任小龙,常量,读小学的时候数学老师在教我们简单的算术运算之前都会教我们:1、2、3这样的构成运算的基本数值,同样的在Java里我们也会用到这些数值,只不过呢,我们在程序里把这种固定不变的值称为常量或则字面量。 常量:程序中固定不变化的值。比如3就只能表示3,不能表示4。 比如: 整数常量1,2,3。 小数常量3.14。 布尔常量false,true等。 使用运算符号连接的常量的语句就构成了最简单的运算表达式。 现在接到客户的一个需求,求两个操作数6和3的和,差,积,商。,租赁合同I,成都传智播客教育 讲师:任小龙,租赁合同II,成都传智播客教育 讲师:任小龙,变量I,可用来不断的存放同一类型的常量,并可以重复使用。 特点: 占据着内存中的某一个存储区域; 该区域有自己的名称(变量名)和类型(数据类型); 该区域的数据可以在同一类型范围内不断变化; 定义变量的格式: 数据类型 变量名 = 初始化值; 注:格式是固定的,记住格式,以不变应万变。 可以同时声明多个同类型的变量,但是可读性不好,故不推荐。 如:int a,b,c;,变量II,变量分类 成员变量:直接定义在类里的变量,又称为全局变量或字段; 局部变量:变量除了成员变量就是局部变量; 变量作用域 成员变量:在类中声明,作用域是整个类; 局部变量:作用域是定义开始到定义所在的花括号结束; 变量使用 变量必须先声明,并且初始化后才能使用; 声明变量必须有数据类型; 同一作用域内变量名不能被重复定义;,表达式,刚刚说使用运算符号连接起来的常量是表达式,现在再补充下,使用运算符号连接的变量也是表达式。那么也就是说表达式是由常量、变量、运算符、括号组成能求得值的有意义的语句。 表达式总得有结果吧,对表达式中操作数进行运算得到的结果就是表达式的结果。 那表达式结果的类型是啥呢,也就是说我现在使用一个变量来接收或存储表达式结果,应该用什么类型呢?就是表达式运算结果的类型。 表达式的运算顺序(大多和数学一样,参照运算符操作优先级): 应按照运算符的优先级从高到低的顺序进行; 优先级相同的运算符按照事先约定的结合方向进行;,成都传智播客教育 讲师:任小龙,成都传智播客教育 讲师:任小龙,Java的数据类型,整型默认:int 浮点型默认:double,成都传智播客教育 讲师:任小龙,Java基本数据类型,Java中定义了4类共8种基本数据类型。 布尔型: boolean 字符型: char 整数型: byte、short、int 、long 浮点数型:float、double,成都传智播客教育 讲师:任小龙,Java基本数据类型,注:只有作为成员变量的时候才有默认值,局部变量必须显示赋值。,成都传智播客教育 讲师:任小龙,布尔型(boolean),通常用于逻辑运算和程序流程控制。该类型的值只能是true 或 false,表示真或假。不可以使用0或非0的整数来代替false和true,区分于C语言。,成都传智播客教育 讲师:任小龙,整数类型(byte、short、int、long),整型常量的四种表示形式: 二进制整数,0b或0B开头,如:int a = 0B110; 八进制整数,要求以0开头,如 int a = 012; 十进制整数,如:int a = 17; 十六进制整数,要求0X或0x开头,如int a = 0x12; Java语言的整型常量默认是int型,声明long型常量量后加上l或L:,当给整数变量选择类型时,得根据实际需求和性能来做选择, 如表示星期的取值是1,7,那么选择byte是明智的选择, 因为byte只占一个字节,能节约内存空间。 byte weekDay;,成都传智播客教育 讲师:任小龙,浮点类型(float、double),double和float并不能表示一个精确的小数值; Java浮点类型常量有两种表示方式: 十进制形式: 例如:3.14 ,168.0, .618 科学计数法形式: 例如:3.14e2, 3.14E2, 1000E-2 Java浮点型常量默认是double,则要声明一个常量为float型,则需在常量后加上f或 F,double常量后面的D或d可省略,如: double pi = 3.14;/正确 float pi = 3.14F;/必须加上f,才表示float类型的小数,成都传智播客教育 讲师:任小龙,字符型(char),char表示16位的Unicode字符,Java对字符采用Unicode字符编码。Unicode收集了世界上所有语言文字中的字符,是一种跨平台的编码方式,Java的字符占两个字节,可以表示一个汉字,字符常量使用单引号 括起来。 char常量有4种表示形式: 直接表示ASCII码表里的符号字符,格式如、A,7; 直接作为整数类型使用,但是数据范围在0,65535,格式如97,但是打印出来的值依然是ASCII码表对于的值,如97打印出来是a。 和一样,只不过表示的是16进制的数,格式如uX,X表示16进制整数;如:97的16进制是61。那么u0061打印出来也是a。 通过转义字符表示特殊字符常量,格式如n;,ASCII表上,ASCII表下,字符型(char),成都传智播客教育 讲师:任小龙,最常用的引用数据类型(String),首先得说明,String不属于基本数据类型; String是一个类,表示字符串(后面详讲); 所谓字符串,就是一串字符,也就是0到多个字符连接在一起; 字符串都得使用 “ 括起来的,连接字符串使用 + ;,成都传智播客教育 讲师:任小龙,数据过长和溢出,当要表示的数据超出数据类型的表示范围时,称为溢出。溢出时程序并没有做数据范围检查时,此时出现紊乱的情况。 过长: int num = 1111_1111_111;/编译通不过,int 最大2147_4836_47 溢出: int max = Integer.MAX_VALUE; /2147483647 int x = max + 1; System.out.println(x); int min = Integer.MIN_VALUE; /-2147483648 int y = min + 1; System.out.println(min - 1); 怎么办?(数据装不下了),成都传智播客教育 讲师:任小龙,自动类型转换,当把小数据范围类型的数值或变量赋给另一个大数据范围类型变量,系统可以完成自动类型转型。这好比把可装一斤水容器里的水倒进可以装两斤水的容器里,是没有一点问题的。 boolean 类型是不可以转换为其他基本数据类型。 整型,字符型,浮点型的数据在混合运算中相互转换,转换时遵循以下原则: 正方向:byte、short、char int long float double 正方向,小类型到大类型的转换会自动完成,自动类型转换,我们也称为“隐式类型转换”。 byte、short、char之间不会相互转换,他们在计算时首先会转换为int类型。,成都传智播客教育 讲师:任小龙,强制类型转换,反方向:byte、short、char int long float double 当大数据范围类型的数值或变量赋给另一个小范围类型变量时,此时系统不能自动完成,需要加上强制转换符,但这样的操作可能造成精度的降低或溢出,所以使用时要格外注意。这就好比把可装两斤水容器里的水倒在可以装一斤水的容器里,是可能造成水溢出的。 强制类型转换,也称为“显示类型转换”,这种转换可能造成溢出和精度损失。 刚刚说了整数是默认是int类型,比如5默认就是int类型,byte c=5这是符合强转类型转换条件的,可为什么没转呢?若直接把一个较小的整数常量(byte,short范围内)赋给一个byte或short变量,系统会自动把这个整数当做是byte或short类型,也就是存在隐式转换。,表达式类型的自动提升,当一个算术表达式中包含多种基本数据类型的值时,整个算术表达式的数据类型将发生类型自动提升,其规则是: 所有的byte、short、char类型被自动提升到int; 整个表达式的最终结果类型被提升到表达式中类型最高的类型;,字符串的连接,注:所有类型的数据都可以使用“+”和字符串相连接,结果都是String类型,此时并不是说把其他类型强转成String类型,而是连接后组成一个新的字符串。,成都传智播客教育 讲师:任小龙,Java的运算符,运算符是一种特殊符号,用以表示数据的运算、赋值和比较等共分以下几种: 算术运算符 赋值运算符 比较运算符 逻辑运算符 移位运算符,成都传智播客教育 讲师:任小龙,算术运算符,成都传智播客教育 讲师:任小龙,算术运算符,加号:在操作数字、字符、字符串时是不同的,两个字符相加得到的是码表值,两个字符串相加表示将两个字符串连接在一起组成新的字符串。 除号:整数在使用除号操作时,得到的结果仍为整数(小数部分忽略),当整数除以0的时候,会引发算术异常。 取模:模数的符号忽略不计,结果的正负取决于被模数,Java还支持小数之间的取模,若一个整数和0.0或一个小数和0取模或0.0和0.0取模或相除,结果是NAN(Not a Number),注意NaN是double类型且值永远不等于自己。,自增和自减,自增:+,递增操作法,使变量值增加1,有前缀和后缀之分,只能操作变量。 自减:-,递减操作符,使变量值减去1,有前缀和后缀之分,只能操作变量。 自增和自减具体操作是一样的,仅仅是一个是加1,一个是减1而已,现在单讲+: 代码 result +和 +result,都将使result + 1。唯一的区别是: 前缀的(+result)表示对加1之后的结果进行操作, 后缀的(result+)表示对加1之前的值(原始值)进行操作。 如仅仅执行简单的递增/递减操作(result+或+result),使用任意一个都可以。,成都传智播客教育 讲师:任小龙,赋值运算符,short s = 3; s = s + 2; 与s += 2;有什么不同?,成都传智播客教育 讲师:任小龙,比较运算符,注1:比较运算符的结果都是boolean型,也就是要么是true,要么是false。 注2:比较运算符“=”不能误写成“=” 。,成都传智播客教育 讲师:任小龙,逻辑运算符,在Java中不可以写成33 & x6 。 “&”和“&”的区别:单与时,左边无论真假,右边都进行运算;双与时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。 “|”和“|”的区别同理,双或时,左边为真,右边不参与运算。 :判断A和B是否不同,不同则为true,相同则为false。 !:取反,!true结果是false,!fasle结果是true。,成都传智播客教育 讲师:任小龙,三目运算符,“三目运算符”,语法格式: x ? y : z; 其中x为boolean类型表达式,先计算x的值,若为true则整个三目运算的结果是表达式y的值,否则就是z的值。 问:y和z的结果类型一样吗,由什么决定?,int score = 70; int x = 6; int y = 5; String type = score y ? x : y; System.out.println(“type= “ + type); System.out.println(“max= “ + max);,成都传智播客教育 讲师:任小龙,位运算符,成都传智播客教育 讲师:任小龙,位运算符结果表,成都传智播客教育 讲师:任小龙,位运算-按位与(&),参与运算的两个数,若两个相应的位数都为1,则该位的结果值是1,否则是0; 例如:3 & 5 不等于8,先把 3和5以二进制表示,再进行按位于运算:,十进制 二进制 结果(十进制) 3 00000000_00000000_00000000_00000011 5 00000000_00000000_00000000_00000101 - & : 00000000_00000000_00000000_00000001 1 所以3 & 5等于 1.,成都传智播客教育 讲师:任小龙,位运算-按位或(|),参与运算的两个数相应位中只要有一个1,结果就是1; 例如:3 | 5 不等于8,先把 3和5以二进制表示,再进行按位于运算:,十进制 二进制 结果(十进制) 3 00000000_00000000_00000000_00000011 5 00000000_00000000_00000000_00000101 - | : 00000000_00000000_00000000_00000111 7 所以3 | 5等于 7. 2的0次方 + 2 的1次方 + 2的2次方 = 1 + 2 + 4 = 7,成都传智播客教育 讲师:任小龙,位运算-异或(),参与运算的两个数相应位相同则结果为0,异号则为1;,十进制 二进制 结果(十进制) 3 00000000_00000000_00000000_00000011 5 00000000_00000000_00000000_00000101 - : 00000000_00000000_00000000_00000110 6 所以3 5等于 6.,位运算-取反(),表示把每个二进制位的“1”换成“0”,把“0”换成“1”。,/*正数5 0b00000000_00000000_00000000_00000101 - 0b11111111_11111111_11111111_11111010 */ /*负数-5 -5原码: 0b10000000_00000000_00000000_00000101 -5反码: 0b11111111_11111111_11111111_11111010 补码(+1):0b11111111_11111111_11111111_11111011 - 0b00000000_00000000_00000000_00000100 */,成都传智播客教育 讲师:任小龙,左移和右移,左移操作“”:将运算数的二进制码整体右移指定位数,右移之后的空使用“符号位”来补充。 若是正数使用“0”补充; 若是负数使用“1”补充; 无符号右移“:将运算数的二进制码整体右移指定位数,右移之后的空使用“0”来补充,操作负数: 取反,求补,操作,取反,求补 / -16: 0b10000000_00000000_00000000_00010000 / -16的反码:0b11111111_111111

温馨提示

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

评论

0/150

提交评论