使用java理解程序逻辑第一学年 第一学期综述.docx

上传人:b****5 文档编号:28624760 上传时间:2023-07-19 格式:DOCX 页数:40 大小:29.82KB
下载 相关 举报
使用java理解程序逻辑第一学年 第一学期综述.docx_第1页
第1页 / 共40页
使用java理解程序逻辑第一学年 第一学期综述.docx_第2页
第2页 / 共40页
使用java理解程序逻辑第一学年 第一学期综述.docx_第3页
第3页 / 共40页
使用java理解程序逻辑第一学年 第一学期综述.docx_第4页
第4页 / 共40页
使用java理解程序逻辑第一学年 第一学期综述.docx_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

使用java理解程序逻辑第一学年 第一学期综述.docx

《使用java理解程序逻辑第一学年 第一学期综述.docx》由会员分享,可在线阅读,更多相关《使用java理解程序逻辑第一学年 第一学期综述.docx(40页珍藏版)》请在冰豆网上搜索。

使用java理解程序逻辑第一学年 第一学期综述.docx

使用java理解程序逻辑第一学年第一学期综述

*************************************************************************************Start

第一章

1.开发JAVA程序的步骤:

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.声明变量的语法

数据类型变量名:

例如:

intmoney;

5.初始化变量的语法

变量名=变量值;

例如:

money=1000;

6.声明并初始化的语法

数据类型变量名=变量值;

例如:

intmoney=1000;

7.变量命名规则

1."只能"由数字、字母、_、$组成

2."不能"以数字开头

3."不能"使用java的关键字

4."建议"采用骆驼命名法命名变量名例:

userName

5."建议"采用有意义的单词,且一般是名词

8.变量的特点

1.先声明再赋值后使用

2.局部或全局变量名不能重复定义

9.赋值运算符

符号:

=

语法:

变量名=表达式

含义:

表示把表达式的运算结果赋值给变量名

10.算术运算符

符号:

+、-、*、/、%

注意:

1.+有两重含义:

算术加

连接符

2./的除数不能为0,为0将报运行时错误

3.%表示除以一个数,取余数(当被余数比余数小时,结果是被余数本身)

例如:

intm=5;

intn=2;

intc=m%n;

System.out.println(c);//1

intm=2;

intn=5;

intc=m%n;

System.out.println(c);//2

11.键盘输入的三个步骤

1.导入包

importjava.util.Scanner;

Or

importjava.util.*;

2.创建键盘扫描器对象

Scannerinput=newScanner(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种基本数据类型

booleantrue或false//布尔类型

byte-128~127//字节类型

char0~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数据类型的值

只有以下两个值:

true

false

17.关系运算符(比较运算符)

>、>=、<、<=、==、!

=

特点:

关系运算符的结果一定是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()的返回结果一定是布尔类型

例如:

Strings1="张三";

Strings2="李四";

booleanflag=s1.equals(s2);

7.java中产生随机数的办法

java为我们提供了一个数学类,即java.lang.Math类

Math类有一个静态方法,即random()

它能产生一个大于等于0.0;并且小于1.0的随机小数

doubler=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

(int)(Math.random()*(N-M+1)+M

8.在MyEclipse中,自动对齐代码格式的快捷键

Ctrl+Shift+F

注意:

在输入法下,由于快捷键冲突,可能按Ctrl+Shift+F没有反应

9.equals()和==比较相等的区别

==是比较内存地址是否一样

equals()是比较内存地址里存储的内容是否一样

注意:

1==比较相等时,则equals()比较也一定相等

2equals()比较相等时,而==比较不一定相等

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对象的常见异常处理判断方法有哪些

booleanhasNextInt()判断用户输入的是否是整数

booleanhasNextDouble()判断用户输入的是否是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循环至少执行一次循环操作。

*************************************************************************************第六章

1.为什么要使用for循环结构

第五章学习了while循环和do-while循环

能够解决循环的所有的问题了

为什么还要学习for循环呢?

这是因为在循环次数固定的时候

while和do-while循环的语法都较复杂

而for循环的语法较简洁

所以我们要学习for循环

2.for循环的语法

for(1.声明循环变量;2.检查循环条件;4.更新循环变量){

3.执行循环操作

}

3.for循环的执行顺序

1-2-3-4

2-3-4

2-3-4

...

注意:

1.当循环条件一开始就为false时,for循环将一次都不执行

这个特点和while循环一样

2."1.声明循环变量"、"2.检查循环条件"、"4.更新循环变量"

都可以省略,但是两个分号;不能省略,否则将报语法错误

3."1.声明循环变量"永远只执行一次

4.break的用法

1.break可以用在switch结构中

表示跳出switch结构,而执行switch结构之后的代码

继续执行循环之后的代码

2.break也可以用在循环结构(包括while、do-while、for)中

表示跳出循环结构,而执行循环结构之后的代码

3.break用在循环中时,break之后,循环之内的代码没有机会执行

4.循环结构中使用break时,有的书上往往也称之为"循环打断"

5.continue的用法

1.continue只能用在循环结构中

表示结束当次循环,而执行下一次循环

2.在循环中,continue之后,循环之内的代码没有机会执行

3.循环结构中使用continue时,有的书上往往也称之为"循环加速",

6.while循环、do-while循环和for循环的区别

1.语法不同:

while(条件){

操作

}

do{

操作

}while(条件);

for(表达式1;表达式2;表达式3){

操作

}

2.执行顺序不同:

while循环和for循环都是:

先检查条件,后执行操作

do-while循环:

先执行一次操作,后检查条件

3.当初始条件不满足时:

while循环和for循环一次都不执行

do-while循环只执行一次循环体

4.使用场景不同:

当循环次数不确定时,优先考虑使用while循环

当循环次数确定时,优先考虑使用for循环

当需要先执行一次操作,再判断条件时,优先考虑使用do-while循环

注意:

在任何情况下,三种循环均可以相互替换,仅仅可能带来不同的编码复杂度

*************************************************************************************第七章

总结

NULLNULLNULLNULLNULLNULLNULLNULLNULLNULLNULLNULLNULLNULL

******************************************************************************************************************************

第八章

1.为什么需要数组

前面章节我们学习了变量,知道它能存储一个值,为什么还要学习数组呢?

因为当需要存储多个相同数据类型的值的时候,从前面章节学习的变量来存储,显得极其麻烦

所以:

当需要存储相同数据类型的一组数据时,就需要使用数组

2.什么是数组

数组也是一个变量,它能够存储"一组""相同数据类型"的数值

3.数组的基本要素

标识符:

即数组变量,我们可以通过标识符来访问数组

数组元素:

数组中存储的数据,它们的数据类型是相同的

元素下标:

即数组中每个数据的索引,第一个元素的索引是0,第二个是1,第N个是N-1

元素类型:

数组中每个数据都是有数据类型的,它的类型和数组的类型是"一致的"

比如:

int数组中的元素的数据类型就是int类型

4.使用数组的好处

1.多个相同数据类型的变量可以定义成数组,提高开发效率

2.方便通过元素索引查找元素,提高了执行效率

5.使用数组的四个步骤

1.声明数组

2.为数组分配空间

3.为数组赋值

4.处理数组里存储的数据

6.声明数组的语法

数据类型数组名[];

Or

数据类型[]数组名;*推荐

例如:

存储一个班学生姓名:

String[]names;

存储一个班学生年龄:

int[]args;

7.为数组分配空间的语法

数组名=new数据类型[大小];

一般情况下,我们往往把声明数组和分配空间写成一行代码,即

数据类型[]数组名=new数据类型[大小];

所以以下两种写法是等价的:

第一种:

数据类型数组名[];

数组名=new数据类型[大小];

第二种:

数据类型[]数组名=new数据类型[大小];

例如:

int[]args;

args=newint[30];

或者:

String[]names=newString[30];

8.为数组赋值的语法

1.静态赋值,即边声明边赋值:

数据类型[]数组名={值1,值2,...,值N};

或者:

数据类型[]数组名=new数据类型[]{值1,值2,...,值N};

例如:

int[]scores={88,79,65};

或者

int[]scores=newint[]{88,79,65};

注意:

边声明边赋值的代码"只能"一行代码完成,"不能"分成两行代码

2.动态赋值,即通过循环来赋值:

Scannerinput=newScanner(System.in);

for(inti=0;i<数组长度;i++){

数组名[i]=input.nextInt();

}

9.如何处理数组数据

1.求数组长度可以通过length属性,即:

数组名.length来取得

例如:

int[]socres={88,79,65};

intlen=scores.length;

其中:

length表示数组的长度属性,由java预定义

2.访问数组元素可以通过索引(下标),即:

数组名[索引]

例如:

int[]socres={88,79,65};

intscore=score[2];

其中:

2表示数组中第三个元素的索引

索引值的聚会范围:

0~数组名.length-1

10.当数组越界时报告的异常

数组的索引取值范围是:

0~ 数组名.langth

那么当索引值不在这个范围时,程序就会抛出异常,该异常的名称是:

java.lang.ArrayIndexOutOfBoundsException

中文的描述是:

数据越界

11.数组的

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 成人教育 > 专升本

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1