Java程序设计项目教程 教学课件 ppt 作者 郭庚麒 周江_ 02章 Java语言基础
,第2章 Java语言基础,【学习目标】 作为一种计算机编程语言,Java可以用来保存、加工和输出各种数据,所以读者通过本章的学习,应该达到以下目标: 熟悉Java基本语法单位和基本数据类型、运算符和表达式的语法; 会使用适合的数据类型输入、转换、输出相应的信息; 会用运算符和表达式计算基本数值或逻辑运算。,2.1 Java语言基本语法单位,2.1.1 标识符 用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列被称为标识符。简单的说,标识符就是为程序中变量取的一个名字,它有如下命名约束: 由数字(0-9),所有从A-Z的大写字母、a-z的小写字母和下划线、美元符$等构成,但首个字符不能为数字; Java对标识符大小写敏感,没有最大长度的限制。 标识符不可以是Java关键字或常量 4. 除了美元符和下划线外,其他标点符号均不可使用。,2.1.2 关键字(保留字) 关键字就是Java语言中已经被赋予特殊意义的一些单词,程序员不可以把这一类词作为名字来使用。Java的关键字分类如下: 表2-2 Java的关键字 分类关键字和分支语句有关if、else、switch 、case 、default和逻辑操作有关true 、false和循环有关do 、while 、for 、break、continue和异常处理有关try、catch、throw、throws、 finally和包、类和接口有关interface 、import 、implements、extends 、class、package、public、protected、private和数据类型有关boolean、char、int、byte、float 、long、short、double、void、final其他instanceof、length、native、new、 null、 return、synchronized、 static、super、volatile、transient注意:true、false、null都是小写的。,2.1.3 语句、空白、注释、分隔符 1.语句和语句块 java 中语句是最小的执行单位,各语句之间以分号分割。一个物理行可包含若干语句;一个语句也可写在连续的若干行内。用花括号 和包含的一系列语句称为语句块,简称为块。语句块可以嵌套,即语句块中可以含有子语句块。在逻辑上,块被当作一个语句看待。 .空格符 空格符包括:空格、水平定位键、回车和换行键。空格符的作用主要用于提高程序的可读性,java程序的元素之间可插入任意数量的空白,编译时并不处理,并视为空白。 .注释 程序中适当地加入注释,会增强程序的可读性,Java里有三种类型的注释。 4.分隔符 分隔符是指将程序的代码组织成编译器所能理解的形式。Java的分隔符有()、;、空格符等。,2.2 Java基本数据类型,2.2.1常量和变量 2.2.2 数据类型概述,【任务2-1】用各种数据类型保存信息,public class eg2_1 public static void main(String args) long number=2009010945; float grade1=98.5f; float grade2=94; float grade3=78.5f; char sex='f' boolean isScience=true; byte no=5; System.out.println(“学号:“+number); System.out.println(“成绩1:“+grade1); System.out.println(“成绩2:“+grade2); System.out.println(“成绩3:“+grade3); System.out.println(“性别:“+sex); System.out.println(“是否理科:“+isScience); System.out.println(“班级排名:“+no); ,学号:2009010945 成绩1:98.5 成绩2:94.0 成绩3:78.5 性别:f 是否理科:true 班级排名:5,2.2.3 数据类型的转换 2.2.4 基本数据类型默认值和对应的封装类,【任务2-2】从键盘输入字符串转换为各种类型数据,public class eg2_2 public static void main(String args) long number=Long.parseLong(args0); float grade1=Float.parseFloat(args1); float grade2=Float.parseFloat(args2); float grade3=Float.parseFloat(args3); args4.charAt(0); boolean isScience=Boolean.parseBoolean(args5); byte no=5; System.out.println(“学号:“+number); System.out.println(“成绩1:“+grade1); System.out.println(“成绩2:“+grade2); System.out.println(“成绩3:“+grade3); System.out.println(“性别:“+sex); System.out.println(“是否理科:“+isScience); System.out.println(“班级排名:“+no); ,学号:2009010945 成绩1:98.5 成绩2:94.0 成绩3:78.5 性别:f 是否理科:true 班级排名:5,2.3 运算符和表达式,2.3.1 算术运算符与算数表达式 2.3.2关系运算符和关系表达式 2.3.3逻辑运算符和逻辑表达式 2.3.4位运算符 2.3.5赋值运算符与赋值表达式 2.3.6其他运算符 2.3.7运算符优先级,【任务2-3】根据学号计算入学年份、所在系代码、班级代码和班内编号。,public class eg2_3 public static void main(String args) float grade1=98.5f; float grade2=94; float grade3=78.5f; /计算加权总分 int total=(int)(grade1*1.2+grade2*0.8+grade3*0.8); System.out.println(“加权总分“+total); /计算平均分 double average=(double)(grade1+grade2+grade3)/3); System.out.println(“平均分“+average); /计算班内编号 long no=2009010945; int i1=(int)(no%100); System.out.println(“班内学号“+i1); /计算班内编号 int tmp=(int)(no/100); int i2=tmp%100; System.out.println(“班级编号“+i2); /计算系编号 tmp=tmp/100; int i3=(int)(tmp%100); System.out.println(“系编号“+i3); /入学年份 tmp=tmp/100; int i4=(int)(tmp%10000); System.out.println(“入学年份“+i4); ,加权总分256 平均分90.33333587646484 班内学号45 班级编号9 系编号1 入学年份2009,2.4 打印语句解析,2.5习题,一、 选择题 1. 以下的选项中能正确表示Java语言中的一个整型常量的是( )。 A) 12. B) -20 C) 1,000 D) 4 5 6 2. 下列的变量定义中,错误的是( )。 A) int a;b; B) float a,b1=1.23f; C) char ch1=d,ch2=; D) public int i=100,j=2,k; 3. 下列的变量定义中,错误的是( )。 A) int _a=123; B) long j=12345678900L; C) int m,n; D) static i=100;,4. 下列的变量定义中,正确的是( )。 A) boolean b1=”true”; B) float x=6.6; C) byte i=200; D) double y; 5. 以下的变量定义语句中,合法的是( )。 A) float $_*5= 3.4F; B) byte b1= 15678; C) double a =Double. MAX_VALUE; D) int _abc_ = 3721L; 6. 以下字符常量中不合法的是( )。 A) '|' B)''' C) “n“ D) '我',7. 已定义a为int类型的变量。以下选项中,合法的赋值语句是( )。 A) a +1=2; B) a+=a*6; C) a=8.8f; D) float a=8; 8. 以下选项中的变量都已正确定义,不合法的表达式是( )。 A) a = 4 = = b3; B)t=!false; C)t=(true|false); D)t=(2= =3)?true:false;,二、填空题 1. 设x,y,max,min均为int型变量,x、y已赋值。用三目条件运算符求x、y的最大值和最小值,并分别赋给变量max和min,这两个赋值语句分别是_和_。 2. 请补充完整下面的语句:_ b1=5!=6;变量b1的结果会是_。 3. 下列变量名哪些合法?哪些不合法? Ab ?1 abc 1name _int $25 private ab*5 #abc 4. 写出下列公式的表达式: A×(1+r/12)12×r (1+x2)/(1-x2)1/2 (1-x2)/(1-sinx)1/2,三、 判断题 1( )在java程序中,一行代码就是一条语句。 2( )在java中,两个变量的字母组成相同但大小写不同是相同的变量。 3( )语句“int i=Integer.MAX_VALUE;”对变量的定义是正确的。 4( )用k来表示一个字符串常量是合法的。 5( )字符串 ”a” 的长度是3个字符。 6( )Java语言中的逻辑变量可以和整型变量相互强制转换。,四、简答题: 1、思考下列表达式的运算结果2*5/2.5、1.0/2*5、1/2*3、5/3 ,并用java语言编程输出,看程序输出结果与预期结果是否一致?想想为什么? 2、地球半径为6400km,一长跑健将9.8s跑了100m,那么他以该速度围绕赤道跑一圈,需要几天时间?请你用java编码实现,2.6实训项目,实训1: 【实训目的】 用合适的数据类型保存现实世界中的各种信息 【实训步骤】 一张火车票有如下信息:起点站、到达站、车次、开车时间、车厢号(每趟列车最多18个车厢)、座位号(每个车厢最多120个座位)、票价(保留小数点后两位)、火车票条码(例如:22874200670401089030) (1)写java代码从键盘输入这些信息 (2)并用恰当数据类型保存这些信息 (3)如果买三张同样的火车票,后面两张分别打0.9折和0.8折,请读者计算票价总和并打印出来。,实训2: 【实训目的】 熟悉java表达式的使用 【实训步骤】 (1)创建一个名为ex2_2的类; (2)在main