第2章Java语言基础(上)_第1页
第2章Java语言基础(上)_第2页
第2章Java语言基础(上)_第3页
第2章Java语言基础(上)_第4页
第2章Java语言基础(上)_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

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

文档简介

1、Java语言基础(上)第 二 章Java是面向对象并且可以跨平台的编程语言Java程序是运行在JVM之上要运行和开发Java程序,必须下载和安装由Sun公司提供的JDK(Java开发工具包)配置环境变量:Path和CLASSPATH三个常用的JDK工具:javac、java回顾(1)回顾(2)纠正代码中的错误,输出“早上好!”说出开发Java程序的步骤?public class Test public void main(String args) system.out.println(早上好!早上好!); public staticSystem中中S要大写要大写本章相关词汇(蓝色为关键字)单单

2、 词词说说 明明byte数据类型,字节型数据类型,字节型boolean数据类型,布尔型数据类型,布尔型true真,布尔型的字面值真,布尔型的字面值false假,布尔型的字面值假,布尔型的字面值本章目标Java中的注释Java中的变量和数据类型Java中变量的作用域规则数据类型转换Java中的运算符和表达式程序控制结构电脑使用内存来记忆计算时所使用的数据内存如何存储数据?内存像旅馆1. 数据各式各样,要先根据数据的需求(即类型)为它申请一块合适的空间1、开房间(单人间、双人间、总统套间)、开房间(单人间、双人间、总统套间) 2、入住、入住内存如何存放数据内存如何存放数据 数据类型(1)数据类型用

3、来确定要存储在内存单元中的数据的类型;在Java中,数据类型被区分成两个种类:原始数据类型引用数据类型数据属于不同类别数据属于不同类别非洲非洲 The quick brown fox TRUE 数据数据 非数值非数值数值数值整型整型非整型非整型9002.129999/12/20032.175123陈扬陈扬 char非数值非数值数值数值整型整型intshortdoublefloat非整型非整型 数据类型数据类型 数据类型(2)原始数据类型longbooleanbyte原始数据类型是最简单的数据形式数据类型数据类型大大小小位位取值范围取值范围说说 明明boolean 布尔型布尔型1true/fal

4、se用于存储真值用于存储真值/假值假值byte 字节型字节型8-128127数据存储在内存中的最原始形态数据存储在内存中的最原始形态char 字符型字符型16u0000uFFFF以以Unicode编码方式存储字符编码方式存储字符short 短整型短整型16-3276832767略略int 整整 型型32-231231-1 略略long 长整型长整型64-263263-1 略略float 浮点型浮点型32略略略略double 双精度双精度64略略略略 数据类型(3)原始数据类型内内 存存 10001000变量:一个数据变量:一个数据存储空间的表示存储空间的表示 对于专业程序员,数据存入内存不算完

5、:对于专业程序员,数据存入内存不算完: 怎么找到存入的数据?怎么找到存入的数据? 存进去还能改吗?存进去还能改吗?不同数据存入具有不同不同数据存入具有不同内存地址的空间,相互独立内存地址的空间,相互独立 变量变量(1)内存如何存放数据内存如何存放数据内存地址不好记,怎么办?1. 通过内存中小房间的别名找到数据存储的位置变量是存储数据的一个基本单元房间房间 房间名字房间名字 房间类型房间类型 入住的客人入住的客人 变量变量 变量名变量名 变量类型变量类型 变量值变量值 对应对应变量变量(2)为什么需要变量为什么需要变量使用变量的步骤:1. 第一步:声明一个变量1. 第二步:赋值1. 第三步:使用

6、变量数据类型数据类型 变量名变量名 = 数值;数值; 根据类型开辟空间根据类型开辟空间 将数据存入空间将数据存入空间 取出数据使用取出数据使用 数据类型数据类型 变量名;变量名; 变量名变量名 = 数值;数值;int money = 1000;int money;money = 1000 ; 变量变量(3)变量的声明和赋值变量的声明和赋值1、在内存中存储本金1000元 2、显示内存中存储的数据的值public class HelloCCAT public static void main(String args) int money = 1000; /存数据存数据 数据类型数据类型 变量名变量

7、名 内存空间存的数值内存空间存的数值 演示示例:如何存取变量演示示例:如何存取变量 System.out.println(money); /使用数据使用数据 变量变量(4)变量的应用变量的应用1、字母、字母2、下划线、下划线_3、$ 符号符号首字母首字母任意多的:任意多的:1、数字、数字2、字母、字母3、下划线、下划线_4、$ 符号符号其余部分其余部分变变量量名名Java语言中,变量命名要符合一定规则语言中,变量命名要符合一定规则money,score,name,sex变量命名规范:变量命名规范:简短且能清楚地表明变量的作用,通常第一个单词的首字母小写,其后单词的简短且能清楚地表明变量的作用,

8、通常第一个单词的首字母小写,其后单词的首字母大写。例如:首字母大写。例如:myScore 变量变量(5)变量命名规则变量命名规则检查下面这些是否是合法的变量名principalcost_pricemarks_3$lastnamecity123ratediscount%zip codeCityint 变量变量(6)变量命名规则变量命名规则数据类型转换(1)程序中经常会遇到要将数据类型进行转换的情况(如:在一个表达式中存在不同类型的操作数时),数据类型转换有两种情况:自动类型转换强制类型转换某班第一次某班第一次Java考试平均分考试平均分81.29,第二次比第一次多,第二次比第一次多2分,计算第二

9、次考试平均分?分,计算第二次考试平均分? double firstAvg = 81.29; /第一次平均分第一次平均分 double secondAvg; /第二次平均分第二次平均分 int rise = 2; secondAvg = firstAvg + rise; System.out.println(第二次平均第二次平均分是:分是: + secondAvg);数据类型转换(2)自动转换在某种条件下,系统自动完成类型转换1. 两种类型兼容 例如:int 和 double 兼容2. 目标类型大于源类型 例如:double 型 大于 int 型 对于表达式1. 如果一个操作数为double型,

10、则整个表达式可提升为double型数据类型转换(3)自动转换 int age = 19; char sex = 女女; char result = age + sex; 下面语句正确吗?int a = 10;int b = 10.2;double c = 10; c = a;int d = c; int 不可以自动转换成不可以自动转换成chardouble不可以自动转化成不可以自动转化成int数据类型转换(4)自动转换int before = 20; /apple笔记本市场份额笔记本市场份额double rise = 9.8; /增长的份额增长的份额int now = before + ris

11、e; /现在的份额现在的份额int now = before + (int)rise; 去年去年Apple笔记本所占的市场份额是笔记本所占的市场份额是20,今年增长的,今年增长的市场份额是市场份额是9.8,求今年所占的份额?,求今年所占的份额?编译出错:不能完成编译出错:不能完成自动类型转换自动类型转换(类型名)表达式(类型名)表达式强制类型转换强制类型转换int b = (int)10.2;double a = 10;int c = (int)a;更改为更改为 演示示例:强制类型转换演示示例:强制类型转换 强制类型转换强制类型转换数据类型转换(5)强制转换在某种条件下,需要程序员强制转型1.

12、 两种类型兼容 例如:int 和 double 兼容2. 目标类型小于源类型 例如:int 型小于double 型 数据类型转换(6)强制转换运算与表达式(1)运算符是通过一定的运算规则操作一个或多个操作数,并生成结果的特定符号;运算符和操作数的有效组合称为表达式;Java提供了一系列丰富的运算符,包括:1.算术运算符2.关系运算符3.逻辑运算符4.条件运算符5.赋值运算符运算与表达式(2)算术运算符算术运算符主要用于数学计算,一般使用数值作为操作数:运算符运算符说说 明明一元一元-一元减,即取负一元减,即取负+自增,如:自增,如:+a等价于等价于a = a + 1-自减,如:自减,如:-a等

13、价于等价于a = a 1二元二元+加法,返回两个操作数的和加法,返回两个操作数的和-减法,返回两个操作数的差减法,返回两个操作数的差*乘法,返回两个操作数的积乘法,返回两个操作数的积/除法,返回两个操作数的商除法,返回两个操作数的商%取模,返回两个操作数整除后的余数取模,返回两个操作数整除后的余数运算与表达式(3)关系运算符关系运算符可以测试两个操作数之间的关系(但不会改变操作数的值),关系表达式的结果为boolean型true/false:运算符运算符说说 明明=等于,检查两个操作数是否相等等于,检查两个操作数是否相等!=不等于,检查两个操作数是否不相等不等于,检查两个操作数是否不相等大于,

14、检查左操作数是否大于右操作数大于,检查左操作数是否大于右操作数=大于等于,检查左操作数是否大于或等于右操作数大于等于,检查左操作数是否大于或等于右操作数小于,检查左操作数是否小于右操作数小于,检查左操作数是否小于右操作数、=、=、=和和!=5逻辑运算符:逻辑运算符:&、|、&和和|6条件运算符:条件运算符:? :7赋值运算符:赋值运算符:=、*=、/=、%=、+=和和-=变量的作用域(1)变量 的作用域指变量起作用的范围,说明变量在什么部分可以被访问;Java变量变量声明声明可以在程序的任何部分声明,即:何可以在程序的任何部分声明,即:何处使用,何处声明。处使用,何处声明。作用

15、域作用域规则规则变量的作用域属于声明它的代码块,变量的作用域属于声明它的代码块,变量的最小作用域是包含它的一对变量的最小作用域是包含它的一对之之间。间。/*有有1,2,3,4四个数字,能组成多少个不相同且无重复的三位数?四个数字,能组成多少个不相同且无重复的三位数?*/public class ScopeVariable public static void main(String args) int count = 0; for (int i = 1; i = 4; i+) /在需要使用变量时声明在需要使用变量时声明 for (int j = 1; j = 4; j+) for (int k

16、 = 1; k 90 ) 师父奖励令狐冲;师父奖励令狐冲;结合问题结合问题基本的基本的if条件结构条件结构表达表达式式语句语句假假真真控制流语句(4)if条件结构如果令狐冲的如果令狐冲的Java考试成绩大于考试成绩大于90分,师父就奖励他分,师父就奖励他独独孤九剑孤九剑剑谱剑谱使用使用if条件结构该如何实现条件结构该如何实现import java.util.Scanner;public class HelloCCAT2 public static void main(String args) Scanner input = new Scanner(System.in); System.out.

17、print(输入令狐冲的输入令狐冲的Java成绩成绩: ); int score = input.nextInt(); /令狐冲的令狐冲的Java成绩成绩 if ( score 90 ) /判断是否大于判断是否大于90分分 System.out.println(师父说师父说:不错,给你不错,给你独孤九剑独孤九剑剑谱剑谱); 演示示例:使用基本演示示例:使用基本if条件结构条件结构 if-else条件结构条件结构if ( 条件条件 ) /语句语句1 else /语句语句2 if ( 令狐冲考试成绩令狐冲考试成绩 90 ) 师父奖励令狐冲;师父奖励令狐冲;else 师父罚他闭关思过;师父罚他闭关思

18、过;结合问题结合问题4真真表达表达式式语句语句1假假语句语句2控制流语句控制流语句(5)if-else条件结构条件结构多重多重if结构就是在结构就是在else部分中还包含其他部分中还包含其他if块块 控制流语句(6)多重if if ( 条件条件 ) /语句语句 else if ( 条件条件 ) /语句语句 else /语句语句 可以有多个可以有多个可以省略可以省略多重多重if结构结构假假真真真真假假表达式表达式1语句语句1表达式表达式2语句语句2语句语句3 对学员的结业考试成绩评测 成绩成绩=90 :优秀:优秀 成绩成绩=80 :良好:良好 成绩成绩=60 :中等:中等 成绩成绩= 90 )

19、System.out.println(优秀优秀); else if (score = 80 ) System.out.println(良好良好); else if (score = 60 ) System.out.println(中等中等); else System.out.println(差差); 大于等于大于等于90分分大于等于大于等于60分,小于分,小于80分分小于小于60分分大于等于大于等于80分,小于分,小于90分分演示示例:使用多重演示示例:使用多重if结构结构控制流语句(9)switch结构 令狐冲参加比武大会如果获得第一名,将出任武林盟主如果获得第一名,将出任武林盟主如果获得第

20、二名,将出任武当掌门如果获得第二名,将出任武当掌门如果获得第三名,将出任峨嵋掌门如果获得第三名,将出任峨嵋掌门否则,将被逐出师门否则,将被逐出师门使用使用if条件结构如何实现条件结构如何实现 ?更好的解决办法:使用更好的解决办法:使用switch结构结构解决解决switch (表达式表达式) case 常量常量 1:语句语句;break; case 常量常量 2:语句语句;break;default:语句语句;switch结构结构控制流语句(10)switch结构计算表达式的值计算表达式的值如果等于常量如果等于常量1 如果等于常量如果等于常量2 如果没有找到匹配的值如果没有找到匹配的值 使用使

21、用switch结构解决问题结构解决问题控制流语句(11)switch结构int mingCi = 1;switch (mingCi) case 1: System.out.println(出任武林盟主出任武林盟主); break; case 2: System.out.println(出任武当掌门出任武当掌门); break; case 3: System.out.println(出任峨嵋掌门出任峨嵋掌门); break; default: System.out.println(被逐出师门被逐出师门);第一名的情况下第一名的情况下第二名的情况下第二名的情况下第三名的情况下第三名的情况下其他情况

22、下其他情况下演示示例:使用演示示例:使用switch结构结构控制流语句(12)switch和多重if结构相同点不同点1. switch2. 多重if都可以实现多分支结构都可以实现多分支结构只能处理等值的条件判断,且条件是整型变量或字符只能处理等值的条件判断,且条件是整型变量或字符变量的等值判断变量的等值判断处理在处理在else部分还包含其它部分还包含其它if结构,特别适合某个变结构,特别适合某个变量处于某个区间时的情况量处于某个区间时的情况控制流语句(13)循环语句循环语句也称作迭代语句;循环语句可用于重复执行相同的操作;循环语句包括:1.while语句2.dowhile语句3.for语句控制

23、流语句(14)while循环特点:先判断,再执行while ( 循环条件循环条件 ) 循环操作循环操作符合条件,循环继续执符合条件,循环继续执行;否则,循环退出行;否则,循环退出循环中被重复循环中被重复执行的操作执行的操作int i = 1;while ( i = 30 ) System.out.println(我能行!我能行!); i +;编码规范:编码规范:缩进、换行缩进、换行循环操作循环操作 循环条件循环条件 真真假假如何用程序描述下面这个故事呢?如何用程序描述下面这个故事呢?为了备战,令狐冲锲而不舍地练习,盈盈严格把关为了备战,令狐冲锲而不舍地练习,盈盈严格把关“盈盈,怎么样,可以了吗

24、?盈盈,怎么样,可以了吗?”“不行,高音部分唱得还不是很好,钢琴还要继续练啊不行,高音部分唱得还不是很好,钢琴还要继续练啊 !”没有听到没有听到“很棒很棒”的评价,看来革命尚未成功的评价,看来革命尚未成功, 令狐冲并不气馁令狐冲并不气馁:早上早上5点练声,上午练钢琴,下午到声乐老师家练习唱歌,晚上练习舞蹈基本功。点练声,上午练钢琴,下午到声乐老师家练习唱歌,晚上练习舞蹈基本功。 循环条件循环条件 循环操作循环操作 使用使用while循环的步骤循环的步骤1、分析循环条件和循环操作、分析循环条件和循环操作2、套用、套用while语法写出代码语法写出代码3、检查循环是否能够退出、检查循环是否能够退出

25、控制流语句控制流语句(15)while循环循环控制流语句(16)while循环System.out.print(表演得怎么样表演得怎么样 ?(y/n):);answer = input.next();while (! answer.equals(y) System.out.println(早上早上5点开始练声点开始练声 !);System.out.println(上午练习钢琴上午练习钢琴 !);System.out.println(下午到声乐老师家练习唱歌下午到声乐老师家练习唱歌 !); System.out.println(晚上练习舞蹈基本功晚上练习舞蹈基本功!); System.out.p

26、rint(表演得怎样表演得怎样 ?(y/n):);answer = input.next();System.out.println(圆满完成圆满完成 !);循环条件循环条件循环操作循环操作比较两个比较两个String类型类型的值是否相等的值是否相等控制流语句(17)do-while循环do 循环操作循环操作 while ( 循环条件循环条件 );先执行一遍循环操作先执行一遍循环操作符合条件,循环继续执行;否符合条件,循环继续执行;否则,循环退出则,循环退出特点:先执行,再判断特点:先执行,再判断循环操作循环操作 循环条件循环条件 真真假假控制流语句(18)do-while循环如何用程序讲述下面

27、的故事?如何用程序讲述下面的故事?苦练半年,眼看大赛在即,苦练半年,眼看大赛在即,盈盈提议:彩排一次,如果很令人满意,以后就不用彩排了,否则每天都要彩排,盈盈提议:彩排一次,如果很令人满意,以后就不用彩排了,否则每天都要彩排,直到现场表现让她满意为止!直到现场表现让她满意为止!他能否用动听的歌声震撼盈盈,用美妙的钢琴声博得赞赏呢?他能否用动听的歌声震撼盈盈,用美妙的钢琴声博得赞赏呢?do 循环操作循环操作while ( 循环条件循环条件 );while (循环条件循环条件) 循环操作循环操作while循环先判断,再执行循环先判断,再执行不适合描述此故事不适合描述此故事 控制流语句(19)do-

28、while循环do System.out.println(唱歌唱歌 !);System.out.println(演奏肖邦钢琴曲演奏肖邦钢琴曲 !);System.out.print(可以了吗可以了吗 ?(y/n):);answer = input.next(); while (!answer.equals(y) ) ;System.out.println(大功告成大功告成 !);循环条件循环条件先执行一遍循环操作先执行一遍循环操作 int i=0;while(i100) System.out.println(我最棒我最棒); i+; for(int i=0;i100;i+) System.ou

29、t.println(我最棒我最棒); for比比while更简洁更简洁while循环结构循环结构for循环结构循环结构控制流语句控制流语句(20)for循环循环for循环的语法和执行顺序循环的语法和执行顺序for( ; ; ) ; 条件为条件为true 循环体被执行循环体被执行 for ( int i = 0 ; i 100 ; i+ ) System.out.println(我最棒我最棒); 代码规范:代码规范:格式对齐、代码的缩进格式对齐、代码的缩进 表达式表达式1 表达式表达式2 表达式表达式3 循环操作循环操作 参数初始化参数初始化条件判断条件判断更新循环变量更新循环变量1243控制流

30、语句控制流语句(21)for循环循环 /省略声明变量省略声明变量 for(int i = 0; i 5; i+) /循环循环5次录入次录入5门课成绩门课成绩 System.out.print(请输入请输入5门功课中第门功课中第 + (i+1) + 门课的成绩:门课的成绩: ); score = input.nextInt(); sum = sum + score; avg = sum / 5; /计算平均分计算平均分 System.out.println(name + 的平均分是:的平均分是: + avg);初始值:初始值:i= 0循环条件:循环条件:i5循环变量改变:循环变量改变:i+循环操

31、作执行循环操作执行5次次演示示例:使用演示示例:使用for循环结构循环结构控制流语句控制流语句(22)for循环循环控制流语句(23)break语句int i = 2;switch(i) case 1: System.out.println(星期一星期一); break; case 2: System.out.println(星期二星期二); break; /其他语句其他语句遇到遇到break,立即跳出,立即跳出switch语句语句回顾回顾break用于用于switch语句语句描述描述4000米长跑比赛米长跑比赛for (int i = 0; i10; i+) 跑跑400米;米; if(不能坚持)(不能坚持) break; /退出比赛退出比赛 第第8圈,圈,快累死了快累死了我要退出我要退出控制流语句(24)break语句break:改变程序控制流1. 用于do-while、while、for中时,可跳出循环而执行循环后面的语句while() break; 跳出整个循环跳出整个循环break通常在循环中与通常在循环中与条件语句一起使用条件语句一起使用控制流语句(25)break语句for(int i = 0; i 5; i+) /循环循环5次录入次录入5门课成绩门课成绩 System.out.print(请输入请

温馨提示

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

评论

0/150

提交评论