1、Java语言程序设计-程序流程,教师:段鹏飞,万物皆对象,现实世界是由什么组成的?,世界由对象组成,顾客类轿车类 ,类是模子,确定对象将会拥有的状态(属性)和行为(方法),类具有相同属性和方法的一组对象的集合,类,定义一个类的步骤1、定义类名2、编写类的属性3、编写类的方法,如何定义类,public class Student String name;/姓名int age;/年龄String classNo;/班级String hobby;/爱好/输出信息方法public void study()System.out.println(name + is studying!);,成员变量,成员方
2、法,定义类,定义对象Student s = new Student();,1.1标识符与关键字1.2注释,1、Java标识符、关键字、注释,程序员对程序中的各个元素加以命名时使用的命名记号称为标识符(identifier)包括:类名、变量名、常量名、方法名、组成规则:字母(AZ、az、中文)、特殊符号($、_)和数字(09)第1个符号不能为数字不能为关键词、true、false、null区分大小写,1.1标识符与关键字,例:point4、 5w、 A%、 thisPicture、$currentValue、OK、_23b、Y_123、 length、ab、if、变量3、True、m-1703错
3、误:5w、 A%、length、ab、if、m-1703,1.1标识符与关键字,1.1标识符与关键字,1.1标识符与关键字,在Java中,true、false和null都是小写的。区别于C+中大写的TRUE、FALSE和NULL。所有的数据类型所占用的字节数都是固定的,并且和实现无关的,因此在Java中没有sizeof操作符。不必死记这些关键词,当理解每个关键词的含义后,自然就记住了所有的关键词。,1.1标识符与关键字,1.下列标识符中,哪些是合法的变量名,哪些是不合法的变量名?(1)char (2)2abc (3)$_isTrue (4)i+j (5)_istrue(6)变量6 (7)Str
4、ing (8)3.141592.判断下面的程序段是否正确,若有错误,错在哪里,应该如何改正,并且测试改正后的输出结果。public static void main(String args)ch = a;char ch;System.out.println(“ch=”+ch);,练习,2.1 Java基本数据类型(Primary Data Types)2.2 常量(Constant)和变量(Variable) 常量(Constant)变量(Variable)2.3 数据类型的转换,2、Java的数据类型,2.1 数据类型,程序=数据结构+算法+程序设计方法+语言工具和环境。之所以有数据类型,就
5、是因为计算机存储不同数据类型的方式和空间不同。,2.1 Java基本数据类型,所有基本类型所占的位数都是确定的,并不因操作系统的不同而不同。 所有基本类型的关键词都是小写的。,2.1 Java基本数据类型,字符型数据代表16位的Unicode字符字符常量是用单引号括起来的一个字符a B n u0030字符型数据的取值范围为065535 或者说 u0000uFFFFu0000为缺省值示例char c1; 缺省值为0char c2 = 0; 赋初值为字符0char c3 = 32; 用整数赋初值为空格,2.1 字符类型(char),2.1 Unicode,What is Unicode?Unico
6、de ?(in Thai) (in Persian)什么是Unicode(统一码)?什麽是Unicode(統一碼/標準萬國碼)?(in Arabic) Was ist Unicode? (in German) Unicode?(in Russian) 何? (in Japanese),18,2.1 字符发展,asciiLatin-1/iso8859-1(0-255)GB2312/GBK,GBK兼容繁体字 (GB2312 1981年实施,收录6763个汉字, GBK收录21886个字) BIG5,台湾标准,收录13461个字unicode,支持七千多个汉字UTF8,2.1 为什么需要Unicod
7、e?,不同字符集编码的内码定义不一样汉字 GBK BIG5 一 D2BB A440丁 B6A1 A442七 C6DF A443,20,2.1 Unicode,JAVA中的字符、字符串、标识符(变量名、方法名和类名称)char c = u5E74; /char c = 年;String s1 = “Javau8BEDu8A00”; /String s1 = “Java语言”;String s2 = u0030u0031; /String s2 =“01”;System.out.println(c );System.out.println(s1);System.out.println(s2);,2
8、1,布尔型数据只有两个值true和false,且它们不对应于任何整数值布尔型变量的定义如:boolean b = true; 布尔型数据只能参与逻辑关系运算:,2.1 布尔类型(boolean),与 C、 C+不 同,Java中 不 能 通 过 #define命 令 把 一 个 标 识 符 定 义 为 常 量,而 是 用 关 键 字 final来 定义,定义常量的一般格式为: final 类型 常量标识符 = 常数值;final int MAX_NUM = 100; final double PI = 3.1415926;,2.2常量和变量,程序中的基本存储单元,其定义包括变量名、变量类型和作
9、用域几个部分,定义格式为:类型 变量名 = 值 ;int n1 = 3, n2 = 4;Java中变量的缺省初值都是确定的:布尔变量的初值为:false整数变量的初值为:0浮点数变量的初值为:0.0引用(复合)变量的初值为:null在方法实现中定义的变量必须显式的初始化。变量的作用域 指可访问变量的一段代码,在程序中不同的地方声明的变量具有不同的作用域:局部变量、类变量、方法参数、例外处理参数。在一定的作用域内,变量名必须唯一。,2.2常量和变量,自动类型转换整型、实型、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算,转换从低级到高级:低-高byte,short,
10、char int long float double,操作数1类型操作数2类型转换后的类型byte、short、charintintbyte、short、char、intlonglongbyte、short、char、int、longfloatfloatbyte、short、char、int、long、floatdoubledouble,2.3数据类型的转换,System.out.println(a)与System.out.println(a+1) 的区别。,自动类型转换(也叫隐式类型转换)强制类型转换(也叫显式类型转换)类型转换的原理什么时候要用强制类型转换?表达式的数据类型自动提升 所有的
11、byte型、short型和char的值将被提升到int型。 如果一个操作数是long型,计算结果就是long型; 如果一个操作数是float型,计算结果就是float型; 如果一个操作数是double型,计算结果就是double型。分析,System.out.println(a)与System.out.println(a+1) 的区别。,2.3 常量与变量,自动类型提升byte b = 3;int x = 4;x = x + b;/b会自动提升为int类型进行运算。强制类型转换byte b = 3;b = b + 4;/报错b = (byte)(b+4);/强制类型转换,强制将b+4的结果转换
12、为byte类型,再赋值给b。思考:byte b1=3,b2=4,b;b=b1+b2;b=3+4;哪句是编译失败的呢?为什么呢?,2.3数据类型的转换,练习,写出下面程序的运行结果。/Examplex2_3.javapublic class Example2_3public static void main(String args)int x = 1,a = 0,b = 0;switch(x)case 0: b+;case 1: a+;case 2: a+,b+;System.out.prinln(“a=”+a);System.out.prinln(“b=”+b);,3.1 优先级、结合性以及单
13、/双目运算 3.2 Java 运算符和表达式,3、Java运算符和表达式,优先级、结合性以及单/双目运算1). , , () 9)&2)+ , - , ! , , instanceof 10) 3)new (type) 11)|4)* , / , % 12)&5)+ , - 13)|6) , , , = , = , =,3.1 优先级、结合性以及单/双目运算,(1)运算符算术运算符: +,*,/,%,+,关系运算符: ,=,&,|,赋值运算符: =,及其扩展赋值运算符如+=,=,*=,/=等。条件运算符: ? :,3.2 Java 运算符和表达式,位运算符,运算符&|,运算左移右移无符号右移与
14、运算或运算异或运算反码,范例33*2*2=1231=13/2=131=13/2=16&3=26|3=763=56=7,3.2 Java 运算符和表达式,“&”和“&”的区别:,单&时,左边无论真假,右边都进行运算;双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。“|”和“|”的区别同理,双或时,左边为真,右边不参与运算。,3.2 Java 运算符和表达式,写出下面表达式的最后运算结果,并且令a = 1,b = 2,c =3,d = false。(1)a+=b-/+c;(2)d = !(a=-b/b+ca!=c;,练习,(2)表达式表达式是由操作数和运算符按一定的语法形式组
15、成的符号序列。一个常量或一个变量名字是最简单的表达式,其值即该常量或变量的值;表达式的值还可以用作其他运算的操作数,形成更复杂的表达式。例:xnum1+num2a*(b+c)+d3.14xi2 ) System.out.println(“The bigger one is: ”+i1);else System.out.println(“The bigger one is: ”+i2);,4.1 选择语句:if-else,switch (expression)case value1 : statements1; break;case valueN : statementsN; break;def
16、ault : defaultStatements;,4.1 选择语句:switch,表达式expression的返回值类型必须是这几种类型之一:int、byte、char、short char(String在java7 中被支持) 。 case子句中的值valueI必须是常量,而且所有case子句中的值应是不同的。 default子句是任选的。 break语句用来在执行完一个case分支后,使程序跳出switch语句,即终止switch语句的执行。(如果某个case分支后没有break语句,程序将不再做比较而执行下一个分支。) switch语句的功能可以用if-else语句来实现,但某些情况下
17、,使用switch语句更简炼。,4.1 选择语句: switch,int n = 1, sum = 0;while ( n0);,int sum =0;for( int i=1; i=10; i+ ) sum += i;,while循环,do-while循环,for循环,4.2循环语句,outer: for( int i=0; i10; i+ ) /外层循环 inner: for( int j=0; j10; j+ ) /内层循环 if( ij ) continue outer; /内层循环结束 /外层循环结束,for( int i= 0; i 10; i+ ) if( i = 5 ) continue; ,4.3 跳转语句: continue,a: /标记代码块a b:/标记代码块b c: /标记代码块c break b; /这段语句将不执行 /代码块c结束 /这段语句也不执行 /代码块b结束 /从这段语句开始执行 /代码块a结束,4.3跳转语句: break,练习,编写Java程序,输出从公元1990年到2007年所有闰年的年号,每输出两个年号换一行。判断年号是否为闰年的条件是:(1)若年号能被4整除,而不能被100整除,则是闰年;(2)若年号能被400整除也是闰年。,谢谢,
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。