当前位置:文档之家› 使用java理解程序逻辑【第一学年 第一学期】

使用java理解程序逻辑【第一学年 第一学期】

*************************************************************************************Start第一章1.开发JA V A程序的步骤:a.编写源程序,以java作为后缀b.编译源程序,以class作为后缀,即字节码文件c.运行字节码,得到运行结果编译需要用到java为我们提供的一个编译器编译器是一个软件编译语法:javac.exe 源文件名称javac 源文件名运行需要用到java为我们提供的一个解释器解释器是一个软件运行语法:java.exe 字节码文件名称java 字节码文件名称2.控制台输出语句:System.out.println("内容");System.out.print("内容");区别:a.是否换行:System.out.println("内容"); 输出"内容"和一个换行System.out.print("内容"); 仅仅输出"内容"b.可否不输出"内容"System.out.println(); 仅仅输出一个换行System.out.print(); 错误的注意:当输出的"内容"是数字时,可以不用添加双引号""3.常见的转义符:\n 将光变移动到下一行的第一格\t 将光变移动到下一个水平制表位置4.注释:作用为某些关键或核心代码添加说明的一种方式,便于程序的阅读和维护,总之,注释是给程序员看的。

分类单行注释:语法://注释的内容多行注释:语法:/*注释的内容*/应用场景当注释的内容比较少时,一般采用单行注释当注释的内容比较多时,一般采用多行注释5.Java代码书写规范:a.结束}必须和开始{所在行的首字符纵向对齐;b.开始{不建议单独起一行,而是放在上一行代码的最后,并且在开始{之前输入一个空格;c. 当上一行有开始{时,下一行代码在上一行代码的首字母基础上缩进一次Tab键;d. 当上一行没有开始{时,下一行代码与上一行代码的首字母纵向对齐*************************************************************************************第二章1.什么是变量内存地址的别名就是变量2.为什么需要变量内存地址不好记忆所以我们要为内存地址命别名这个别名是变量3.变量的作用是什么方便存、取内存地址中存储的数据4.声明变量的语法数据类型变量名:例如:int money;5.初始化变量的语法变量名= 变量值;例如:money = 1000;6.声明并初始化的语法数据类型变量名= 变量值;例如:int money = 1000;7.变量命名规则1."只能"由数字、字母、_ 、$ 组成2."不能"以数字开头3."不能"使用java的关键字4."建议"采用骆驼命名法命名变量名例:userName5."建议"采用有意义的单词,且一般是名词8.变量的特点1.先声明再赋值后使用2.局部或全局变量名不能重复定义9.赋值运算符符号:=语法:变量名= 表达式含义:表示把表达式的运算结果赋值给变量名10.算术运算符符号:+ 、- 、* 、/ 、%注意:1. + 有两重含义:算术加连接符2. / 的除数不能为0,为0将报运行时错误3. % 表示除以一个数,取余数(当被余数比余数小时,结果是被余数本身)例如:int m = 5;int n = 2;int c = m % n;System.out.println(c);//1int m = 2;int n = 5;int c = m % n;System.out.println(c);//211.键盘输入的三个步骤1.导入包import java.util.Scanner;Orimport java.util.*;2.创建键盘扫描器对象Scanner input = new Scanner(System.in);3.接收键盘输入int 变量名= input.nextInt(); //接收键盘输入的整数String 变量名= input.next(); //接收键盘输入的字符串double 变量名= input.nextDouble(); //接收键盘输入的小数注意:java并没有为我们定义nextChar()方法,所以以下代码是错误的:char 变量名= input.nextChar();如果想从键盘接收一个字符,并且使用char类型变量接收,可以采用如下写法:char 变量名= input.next().charAt(0);12.常见数据类型的存储范围//java的8种基本数据类型boolean true 或false //布尔类型byte -128 ~127 //字节类型char 0 ~65535 //字符类型short -32768 ~32767 //短整型int -2147483648 ~2147483647 //整型long 比int大了很多//长整型float 比long大了很多//单精度浮点型double 比float大很多很多//双精度浮点型**************************************************************************** String 可以存储无穷大的内容13.自动类型转换把存储范围较低的值赋给存储范围较大的变量,就发生自动类型转换规则1:表达式的最终运算结果的数据类型和表达式中最高数据类型一致数据类型转换是兼容类型的转换规则2:发生自动类型转换的条件是:1.两种数据类型兼容2.目标数据类型大于源类型总之:自动类型转换是数据类型提升的转换,是无损失的转换14.强制类型转换把存储范围较高的值赋给存储范围较低的变量,就需要强制类型转换语法:低数据类型变量名= (低数据类型)高数据类型的表达式;总之:强制类型转换是数据类型降低的转换,是有损失的转换15.为什么需要boolean数据类型当需要表示真、假、是、否、对、错等的时候,就需要使用boolean数据类型16.boolean数据类型的值只有以下两个值:truefalse17.关系运算符(比较运算符)>、>=、<、<=、==、!=特点:关系运算符的结果一定是boolean类型18.运算符的优先级() > 算术运算符> 关系运算符> 逻辑运算符> =************************************************************************************* 第三章1.if选择结构的语法if (布尔表达式) {//代码块}注意:1."布尔表达式"的运算结果一定是boolean类型2.当"代码块"只有一行代码时,语法上可以省略{},但还是建议写上{}2.逻辑运算符&& 逻辑与表示并且的意思二元运算符|| 逻辑或表示或者的意思二元运算符! 逻辑非表示取反一元运算符注意:1.&&的运算规则:"真&& 真" 结果为真,否则都为假2.||的运算规则:"假|| 假" 结果为假,否则都为真3.!的运算规则:原来是真,取反变假;原来是假,取反变真4.参与逻辑运算的表达式,一定为布尔表达式3.到目前为止,我们学过的运算符的优先级到目前为止,我们学过的运算符有:赋值运算符算术运算符比较运算符逻辑运算符它们的优先级为:! > () > 算术运算符> 比较运算符> && > || > = 4.流程图表示符号圆角矩形表示程序的开始或结束直角矩形表示计算步骤或声明平行四边形表示程序的输入或输出菱形表示程序的条件判断带箭头的直线表示程序的流程线带圆圈的箭头的直线表示程序的连接符5.在MyEclipse中加注释的快捷键Ctrl + ? 添加或取消单行注释Ctrl + Shift + ? 添加多行注释Ctro + Shift + \ 取消多行注释6.比较两个字符串的内容是否相等equals()注意:equals()的返回结果一定是布尔类型例如:String s1 = "张三";String s2 = "李四";boolean flag = s1.equals(s2);7.java中产生随机数的办法java为我们提供了一个数学类,即ng.Math类Math类有一个静态方法,即random()它能产生一个大于等于0.0;并且小于1.0的随机小数double r = Math.random();r >= 0.0 && r < 1.0如果我们要产生一个0到9的随机整数:Math.random() ---> [0.0,1.0)Math.random() * 10 ---> [0.0,10.0)(int)(Math.random() * 10) ---> [0,9]如果我们要产生一个1000到9999的随机整数:(int)(Math.random() * 9000) + 1000一般的,要产生一个M到N的随机整数(M和N都是正整数,且M < N);(int)(Math.random() * (N - M + 1) + M8.在MyEclipse中,自动对齐代码格式的快捷键Ctrl + Shift + F注意:在输入法下,由于快捷键冲突,可能按Ctrl + Shift + F没有反应9.equals()和==比较相等的区别== 是比较内存地址是否一样equals() 是比较内存地址里存储的内容是否一样注意:1 ==比较相等时,则equals()比较也一定相等2 equals()比较相等时,而==比较不一定相等3 ==可以比较任意数据类型而equals()不能比较char\int\double\boolean等基本数据类型,只能比较引用数据类型************************************************************************************* 第四章java-version看版本1.为什么需要switch选择结构当判断条件是等值的情况下虽然可以使用多重if选择结构但其语法较为啰嗦这时可以语法更为简洁的switch选择结构(在"条件为区间"时,应该优先选择使用多重if选择结构)2.switch选择结构的语法switch(分值变量) {case 常量1://语句break;case 常量2://语句break;...case 常量1://语句break;default://default的语句break;}3.switch结构的特点1.分值变量的数据类型只能是:byte、char、short、int在JDK1.7以上版本中,还可以是String类型2.case后面的常量值不能重复3.case和default都可以省略,只是都省略后没有意义4.多个case之间或case与default之间的顺序可以交换如果每个case或default的语句后都有break,则交换后对执行结果没有任何影响;如果case或default的语句后没有break,则交换后对执行结果有影响5.整个switch结构执行结束的条件是遇到break或结束的"}"4.为什么需要异常处理用户的键盘输入是不确定的为了防止程序因为用户的错误输入而导致崩溃就需要异常处理;现阶段的异常处理主要是用Scanner对象的判断方法5.Scanner对象的常见异常处理判断方法有哪些boolean hasNextInt() 判断用户输入的是否是整数boolean hasNextDouble() 判断用户输入的是否是double类型*************************************************************************************第五章1.为什么需要循环当需要解决"重复操作"的问题时,就需要使用循环2.while循环的语法1.声明循环变量while (2.检查循环条件) {3.执行循环条件4.更新循环变量3.while循环的执行特点先检查循环条件是否为true为true则执行循环操作为false不执行即"先判断,后执行"注意:当循环条件第一次就为false时,while循环将一次都不会执行4.什么叫"程序调试"发现和定位错误的技术,称之为"程序调试"注:几乎所有的IDE(可视化开发工具)都具有"程序调试"的功能我们目前学习的是MyEclipse,它也具有"程序调试"的功能5.MyEclipse中常见的调试快捷键F5 "单步进入" 执行每行代码内部的代码F6 "单步跳过" 仅仅执行该行代码,不执行该行代码内部的代码F8 "执行完毕" 不再调试,而直接执行代码6.调试的步骤1.估计出错代码的大体位置,添加断点2.运行代码,启动调试3.F5或F6单步执行,4.观察变量5.发现问题6.停止运行,修改代码7.解决问题7.为什么需要do-while循环在某些情况下,需要先执行一次操作,才能确定是否继续执行操作就需要do-while循环8.do-while循环的语法1.声明循环变量do {2.执行循环操作3.更新循环变量} while (4.检查循环条件);9.do-while循环的执行特点先执行一次循环操作,再判断循环条件如果条件为true,则继续执行否则执行结束即"先执行,后判断"注意:当循环条件第一次就为false时,do-while循环将执行一次操作总之,do-while循环至少执行一次循环操作。

相关主题