您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 03运算符、表达式、流程控制、数组
运算符、表达式、流程控制、数组运算符、表达式、控制流程、数组✤修饰符✤运算符✤表达式✤控制流程修饰符✤修饰符分为两类:■访问修饰符■非访问修饰符访问修饰符✤private,protected,public✤四个等级:公共受保护无修饰符私有非访问修饰符✤static✤final✤abstract✤synchronized✤transient✤volatile运算符✤算术运算符✤关系运算符✤布尔逻辑运算符✤赋值运算符✤字符连接运算符算术运算符✤+、-、*、/✤%是求余运算✤++自加✤——自减关系运算符✤:大于✤=:大于等于✤:小于✤=:小于等于✤==:等于✤!=:不等于位运算符✤位运算符:■~——按位非■&——按位与■|——按位或■^——按位异或✤Java定义了位运算符,应用于整数类型(int),长整型(long),短整型(short),字符型(char),和字节型(byte)等类型位运算符✤移位运算符:■——右移操作符,低位补0■——左移操作符,高位补0■——无符号右移,得到的结果总为正数(以0填充)逻辑运算符✤逻辑运算符:■!——逻辑非■&——逻辑与■|——逻辑或■^——逻辑异或■&&——短路与■||——短路非逻辑运算符ab!aa&ba|ba^ba&&ba||btruetruefalsetruetruefalsetruetruetruefalsefalsefalsetruetruefalsetruefalsetruetruefalsetruetruefalsetruefalsefalsetruefalsefalsefalsefalsefalse赋值运算符✤用于为变量指定变量值,“=”;✤可以将一个变量赋值给另一个变量✤可以将表达式的值赋值给变量✤支持连续赋值拓展赋值运算符✤+=:x+=y,即x=x+y✤-=:x-=y,即x=x-y✤*=:x*=y,即x=x*y✤/=:x/=y,即x=x/y✤%=:x%=y,即x=x%y✤&=:x&=y,即x=x&y✤|=:x|=y,即x=x|y✤^=:x^=y,即x=x^y✤=:x=y,即x=xy✤=:x=y,即x=xy✤=:x=y,即x=xy练习✤java.util.Scanner类■一般用来读取控制台输入:■Scannerscanner=newScanner(System.in);■Sytem.out.println(“请输入姓名”);■Stringname=scanner.next();■Sytem.out.println(“请输入年龄”);■intage=scanner.nextInt();■Sytem.out.println(“你的姓名”+name+“,年龄”+age);■scanner.close();✤实现加法计算器思考✤如何交换两个int变量的值inti=10;intj=20;//写代码,不能使用i=20;j=10;System.out.println(“i=”+i+“,j=”+j);//输出i=20,j=10条件运算符✤格式(逻辑表达式)?(if-true):(if-false)练习✤输出i是否是偶数✤i%2==0?i+”是偶数”:i+”不是偶数”运算符优先级运算符说明Java运算符关联性分割符.[](),;从左到右单目运算符++--~!从右到左强制类型转换符(type)从右到左乘法/除法/求余*/%从左到右加法/减法+-从左到右移位运算符从左到右关系运算符==instanceof从左到右等价运算符==!=从左到右按位与&从左到右按位异或^从左到右按位或|从左到右条件与&&从左到右条件或||从左到右三目运算?:从右到左赋值=+=-=*=/=&=|=^=%====从右到左流程控制✤顺序结构✤分支结构✤循环结构顺序结构✤中间没有任何的条件和跳转分支结构✤分支又称条件语句,实现流程的控制✤Java分支语句分类:■if语句■switch语句if语句if(布尔表达式){语句}✤案例✤检查用户输入的年龄范围(0-100),姓名长度(3-5);易错✤下面程序运行结果inti=10;if(i=10){System.out.println(“我是10”);}思考✤结论:“if中不能使用=,只能用==”!对吗?✤下面程序运行结果?booleanflag=false;if(flag=true){System.out.println(“我是true”);}思考booleanflag=false;if(flag=true){System.out.println(“我是true”);}if✤如果if语句中的大括号中只有一句话,那么可以省略大括号✤不建议这样做,容易出错✤建议:哪怕是一句话,也要写大括号。坏的编程习惯并不会一定导致出错,但是会增加的出错的概率。易错✤if(age8);✤………✤为什么?elseif(布尔表达式){语句}else{语句}✤案例:✤根据用户输入的年龄是大于18岁还是小于,决定显示不用的内容elseifif(布尔表达式){语句}elseif(布尔表达式){语句}else{}elseif例子:根据输入的月份显示属于“春夏秋冬”哪个季节,假定:春:3、4、5夏:6、7、8秋:9、10、11冬:12、1、2练习✤根据输入的年龄和性别显示阶段的姓名:如果是男性:0-3:男婴;4-18:正太;19-28:欧巴;29-50:蜀黍;51及以后“爷爷”。如果是女性:0-3:女婴;4-18:萝莉;19-28:妹纸;29-50:熟女;51及以后“奶奶”✤如果用户没有填写姓名,则提示“请输入姓名”,否则如果姓名长大于10则提示“姓名长度不能大于10”,否则提示“某某某你好!”✤“男”.equals(“男”);✤“长度”.length();switch语句✤switch语句由一个控制表达式和多个case标签组成switch(表达式){case表达式:语句;break;case表达式:语句;break;default:语句;}switch语句✤A优秀,B良好,C合格,D不合格,练习✤近期跑男的节目组找到你,让你替他们做一个选择。你有八张卡片,分别为A-邓超,B-Angelababy,C-李晨,D-陈赫,E-郑恺,F-王祖蓝,G-鹿晗,如果你选择邓超,请输出“Weare伐木累!”,如果是Angelababy,请输出“boomshakalaka!”,如果是李晨,请输出“我们打一架吧!”,如果是陈赫,请输出“你是猪吗?”,如果是郑恺,请输出“噗”,如果是王祖蓝,请输出“完美!”,如果是鹿晗,请输出“傻狍子!”,如果你选择的不是上面的,请输出“你是猴子请来的救兵吗?”循环语句✤满足循环条件下,反复执行某一段代码,这段被重复执行的代码叫循环体。✤包含4个部分:■初始化语句■循环条件■循环体■迭代语句循环语句✤Java中有三种主要的循环结构■while循环■do…while循环■for循环while循环✤while语句格式:初始化语句while(循环条件){循环体迭代语句}do-while循环✤do-while语句格式:初始化语句do{循环体迭代语句}while(循环条件);for循环✤for语句格式:for(初始化语句;循环条件;迭代语句){循环体}练习✤打印100以内不能被7整除的数,并求其和,要求每行输出4个数据练习题目:打印出所有的“水仙花数”,所谓“水仙花”是指一个三位数,其各位数字立方和等于该数的本身例如:153是一个“水仙花数”嵌套循环✤把一个循环放到另一个循环体内嵌套循环✤流程图练习✤打印三角形:****************练习✤输入行数,输出相应行数的三角形控制循环✤break结束循环✤continue结束本次循环使用break结束循环✤某些时候需要在某种条件出现时强行终止循环,而不是等到循环条件为false时才推出循环。使用continue忽略本次循环剩下语句✤忽略本次循环,接着开始下一次循环,并不会终止循环练习✤九九乘法表✤打印10以内的偶数之和递归方法✤一个方法体内调用它自身,被称为递归方法练习猴子吃桃问题,猴子第一天摘下若干个桃子,当即吃掉一半,还不过瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩一个桃子了。求第一天共摘了多少?程序分析:采用逆向思维的方法,从后往前推断。封装类、数组、字符串✤封装类✤String✤StringBuilder和StringBuffer✤数组✤正则表达式✤日期时间✤流(Stream)、文件(File)和IO✤异常Java基本类型包装类✤所有的包装类(Integer、Long、Byte、Double、Float、Short)都是抽象类Number的子类。✤char提供了包装类Character类练习✤使用封装类对各个基本类型做转换JavaString类✤Java提供了String类来创建和操作字符串✤String类是不可改变的,所以你一旦创建了String对象,那它的值就无法改变了练习✤获取“您好,圣诞老人!”字符串的长度,并输出长度✤把“圣诞快乐!”替换,输出成“MerryChristmas”✤把字符串“2”转化成int,byte,short,long类型✤“圣诞快乐,MerryChristmas”,只有“MerryChristmas”,并输出StringBuff类和StringBuilder类✤能够被多次的修改,并且不产生新的未使用对象练习✤使用StringBuilder拼接字符串数组✤数组声明✤数组初始化数组声明✤数组是用来存储多个相同数据类型数据的数据结构✤数组定义方式:■type[]arrayName;■typearrayName[];✤数组初始化:■静态初始化:■动态初始化:静态初始化✤格式✤arrName=newtype[]{元素1,元素2,元素3….};动态态初始化✤格式✤arrName=newtype[length];数组使用✤访问数组元素✤格式:变量[索引]✤Java数组的索引是从0开始,最后一个数组元素索引为数组长度减1练习题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃掉一半,还不过瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩一个桃子了。求第一天共摘了多少?程序分析:采用逆向思维的方法,从后往前推断。Java正则表达式✤Pattern类✤Matcher类练习✤验证是否为邮箱地址:rimiedu@rimionline.com✤去除html标记:ahref=/index.html/主页/aJava日期时间✤java.util包提供了Date类来封装当前的日期和时间✤日期比较✤格式化日期✤Calendar类练习✤转换当前时间为“2015-12-2209:20:12”格式,并输出✤输入“2015-12-22”,输出格式“星期二-12月-20日-2015年”流(Stream)、文件(File)和IO✤控制台输入输出✤读写文件✤创建目录✤读取目录练习✤文件拷贝✤java读文件:实现统计某一目录下每个文件中出现的字母个数、数字个数、空格个数及行数,除此之外没有其他字符✤从文件(d:\test.txt)中查出字符串”aa”出现的次数✤读取文件✤写文件异常✤Java程序运行过程中发生的异常分为两类:■错误(Error)■异常(Exception)异常层次常见异常✤运行时异常(RuntimeException):■ArithmeticException■NullPointerException■NegativeArraySizeException■ArrayOutOfBoundsException■ClassNotFoundException■ClassCastException✤输入/输出异常(IOException)■FileNotF
本文标题:03运算符、表达式、流程控制、数组
链接地址:https://www.777doc.com/doc-630305 .html