Java程序逻辑知识点.docx
《Java程序逻辑知识点.docx》由会员分享,可在线阅读,更多相关《Java程序逻辑知识点.docx(12页珍藏版)》请在冰豆网上搜索。
Java程序逻辑知识点
1.Java程序
常见错误:
1.类名(HelloSodi)和代码所在文件名不一样。
2.System和system一样吗?
在java中大小写严格区分,如果是小写,会报错,所以System首字母一定要是大写。
2.Java中的词汇
1.变量
内存的作用:
类似于人的大脑,计算机用来在程序运行时记忆数据。
内存如何存储数据?
可以形象的将计算机内存比作一个旅馆,要存储的数据就好比入住的客人。
双人间,单人间,总统套房等房间类型就相当于数据类型。
房间号就相当于变量名。
我们通过房间号来找客人,同样我们通过变量名来取得变量的值以及修改变量的内容。
变量和房间的对应关系
2.数据类型
Java常用数据类型
基本数据类型(8种):
byte,short,int,longfloat,doublecharboolean
引用数据类型:
首字母大写。
注意点:
floatfloatNum=2.0f;
3.变量的使用(开个房间)
4.变量的命名规则
包含字母,数字,下划线,$,不能以数字开头。
友情建议:
在平时开发过程中,变量的名称最好有一定的实际意义,比如学生姓名(studentName),学生年龄(studentAge)----这样的名称由多个单词组成,第一个单词的首字母小写,其他的单词首字母大写。
Camel(骆驼命名法)pascal(匈牙利命名法)
5.常用运算符
--赋值运算符(=)
--算术运算符(+,-,*,/,%)
++--
System.out.println(i--);
--(++)如果放在前面,就先执行--(++),再打印
否则就打印,再执行--(++)
6.数据类型转换(数值类型)
--隐式转换(自动转换)
--强制转换intsecondAvg=32+(int)2.1;
--函数转换
3.Java中的分支结构
1.boolean(布尔类型)
用于判断真假,只有俩个值,true(真),false(假)
intageOfCkl=18;
intageOfGh=17;
booleanisTrue=ageOfGh>ageOfCkl;
System.out.println("Gh比Ckl大吗?
"+isTrue);
2.关系运算符
注意点:
==不可以写成=
3.If条件结构
--单分支
--双分支
--多分支
双分支,多分枝在运行时只会进去一个分支
if(逻辑表达式(他的结果必须是boolean类型)){//只有条件为true时才执行
具体要执行的语句
}
4.常用逻辑运算符
5.switch结构(多分枝结构,等值比较)
注意点:
1语句是存在贯穿的,所以每个分支都加一个break;
2.case下没有语句时(多个条件执行相同语句),可以没有break;
4.Java中的循环结构
1.While
*
***
*****
Forwhiledowhile
9*9=819*8=729*7=63……9*1=9
8*8=64…….8*1=8
……
1*1=1
System.out.println();//换行
System.out.print();//不换行
常见错误:
1.避免死循环,如图4.5i=i+1必须要
2.注意循环条件(分析初始条件和循环条件)
3.循环嵌套时注意内层循环和外层循环变量的关系
2.dowhile
注意点
1.变量的作用范围:
直接包含他的那一对{}
2.字符串比较内容是否相同,用方法(equals),他的返回值是true,false
userName.equals("sodi")
3.for
for(1;2;3){
4
}
1->2->4->3->2->4->3->2
1初始化只执行一次
22->4->3循环执行,直到2条件不满足
4.增强型for循环
5.跳转语句(breakcontinue)
break:
用于终止某个循环,使程序跳到循环块的下一条语句,循环体内位于break后的语句将不再执行。
continue:
终止本次循环,进行下一轮循环。
break,continue仅作用于直接包含他的循环
5.Java对象和类
对象:
万物皆对象。
类:
将共同的特征抽象出来,组织在一个单元中,就称为类。
(实际不存在)包含类的属性和类的方法。
类定义了概念模型,而对象是真实的实体。
1.对象的属性和方法。
(类比现实世界的特征和行为)
class创建类的关键字。
public共有的意思。
访问权限,
1.定义类:
使用class关键字
2.创建类的对象:
使用关键字new
3.使用类的属性和方法:
使用点运算符.
6.Java中类的方法
包的定义:
用.分隔包名,可以在一个包当中创建另一个包。
1.方法的定义
方法的返回值只能是1个。
2.方法的调用
方法之间可以互相调用,不需要知道方法的内部实现。
在类的内部一个方法调用另一个方法,直接调用就可以,在类的外部通过对象访问
3.形式参数和实际参数(值传递和引用传递)
形式参数:
我们在定义一个方法的时候,括号内的参数,他是需要定义类型的。
实际参数:
具体调用时的参数。
Void类型的方法,可以直接return结束方法。
4.变量的作用域
成员变量(类的属性),局部变量(定义在方法内部)
变量在使用之前必须经过定义赋值—>使用
局部变量在使用前一定要赋值
成员变量可以不赋值,是因为程序在运行的时候会给一个默认值。
作用域,直接包含他们的那一对大括号。
5.Java程序运行时对象的内存分布。
栈,堆,方法区
栈:
存放长度固定的数据(基本数据类型,对象句柄)
堆:
存放对象
方法区:
存放类的定义
7.Java中的数组[],引用数据类型
1.数组的作用
用来存放同一类型的多个数据。
2.数组元素,数组名称,数组下标
数组元素:
数组里面的每个数据。
数组名称:
数组的变量名。
数组下标:
相当于给每个数组元素一个标签,从0开始,最大值是数组的长度减1
3.使用数组的4个步骤
--1定义一个数组
int[]scores;//int[]整体才是类型
--2分配空间,就是定义数组的长度,能放多少个数据,定义完成之后,长度不可以改变。
scores=newint[10];
--3赋值,3,4都是通过下标来访问数组元素
scores[0]=76;
--4获取数组中的数据
scores.length:
获得数组的长度
增强型for循环遍历数组的元素
for(inti:
scores){
System.out.println(i);
}
//i表示数组元素,而不是指下标
4.数组的应用
--求数组中的最大值。
--数组中的排序。
Arrays.sort(nums);
常见错误:
1.定义数组漏写长度。
2.数组下标越界
3.数组元素的初始值
8.Java环境
安装jdk之后配置环境变量
path:
C:
\JavaSoft\JDK6\bin
--为了让系统能够找到里面的可执行文件(javajavac)
classpath:
.;C:
\JavaSoft\JDK6\jre(注意:
前面一定要加个点),就是在我们运行时找到.class文件的路径,.表示当前的路径
jdkjava开发环境
jrejava运行时环境
javac编译程序,生成一个字节码文件(.class文件)
java运行程序
Cd\跳到当前根目录
D:
跳到d盘根目录
CdC:
\JavaSoft\eclipse\dropins跳到c盘根目录下的路径。
9.字符串的应用
1.字符串的连接
任何类型的数据,只要和字符串进行相加操作,都会变成字符串连接操作
2.字符串的比较
String池的理解
将不是通过new出来的字符串,放在String池中,如果已经有的话,就直接指向已有的字符串。
3.字符串的转换(把字符串转换为8种基本数据类型)
--包装类的理解(将基本数据类型包装成引用数据类型)
scanner.nextLine();是需要捕获回车的
scanner.nextInt();是不捕获回车的
解决方法:
⏹scanner.nextLine();执行俩次
⏹scanner=newScanner(System.in);
java中内存的释放由GC(垃圾回收器)来处理,当一个对象失去任何引用的时候就会变成一个垃圾
10.trycatch
11.try{
12.//有可能出现异常的语句
13.}catch(Exceptionex){
14.//一旦发生异常,通过此处的这些代码来处理
15.}
11.Static静态
静态的成员是属于类的,所有的对象共有。
静态成员(static)不能访问非静态成员。
在类的内部可以直接通过名称来访问,在其他类中可以通过类名来访问。
静态成员也可以通过对象来访问。
12.调试
在程序有可能出错的地方让程序暂停,一句一句运行,可以查看程序运行时的一些变量,或者看其流程跳转是否正确
断点,debug(虫子按钮),
Stepover将方法当成一句话运行
Stepinto跳进方法内部一句一句运行
Variables用于监控程序运行时的变量
13.随机生成一个数字
Math.random()生成一个double类型的数字,范围是0-1,
包括0,但不包括1
生成一个小数–大数的随机整数时
(int)(Math.random()*(大数-小数)+小数)
14.定义一个常量
finalintnum=3;