黑马程序员技术交流社区
标题:
【石家庄】小牙签
[打印本页]
作者:
gaohanlong
时间:
2017-12-1 19:55
标题:
【石家庄】小牙签
javaME
javaSE
javaEE
java是跨平台的编程语言:
平台:指操作系统
跨平台:java程序可以在任意操作系统上运行,一次编写到处运行
跨平台的原来:java在不同的操作系统中有不同的JVM(java虚拟机),实现跨平台运行
jvm:
虚拟机,java实现的虚拟的的计算机,在不同的操作系统中模拟出相同的运行环境
JRE:
包括了JVM和java核心类库,是运行java程序的最小环境
JDK:
java就发工具包,用于开发java程序----包括JRE和java开发工具
JVM,JRE,JDK的关系:
JVM<JRE<JDK
常用DOS命令:
打开控制台 WIN+R 输入cmd 回车
d:回车,盘符切换
dir:列出当前目录下得文件及文件夹
cd目录名:切换目录
cd..切换上一级目录
cd\a,cd a:切换到当先目录下得a目录
cd a\b\c:切换多个目录
cls:清屏
exit:退出
上下箭头:切换之前执行过的命令
注释:
单行注释://注释内容
多行注释:/*注释
内容*/
文档注释:/**文档注释内容*/
注意,多行注释,文档注释都不能嵌套使用
关键字:
被java语言赋予了特定含义的单词
特点:1 组成关键字的字母全部小写 2颜色高亮
常量的概述和分类:
常量:在程序的执行过程中,其值不可以发生改变的量
常量分类:
A:字符串常量 "HelloWorld"
B:整数常量: 12-23
C:小数常量:12.23
D:字符常量:'a''0'
E:布尔常量:true,false
F:空常量 :null
变量:
概念:变量是内存这种的一块区域,保存着一个值
在程序执行过程中,其值可以在一定范围内发生改变
变量通过数据类型来限定
变量名:变量的名字
初始化值:变量的最初的值
定义格式:数据类型=变量名=初始化值;
数据类型 变量名(不可以直接使用,赋值后可以使用.不推荐)
java是一种强类型语言,针对每一种数据都给初了明确的数据类型
数据类型:
A:基本数据类型
B:引用输出类型(类,接口,数组)
基本数据类型:4类8种
A:整数 (byte 1字节 short 2字节 int 4字节 long 8字节 )
B:浮点数 (float 4字节 double 8字节 )
C:字符 (char 2字节 )
D:布尔 (boolean 1)
3种引用数据类型:A:数组 B:类 C:接口
注意:
A:整数默认是int类型,浮点数默认是double类型
B:定义long类型数据的时候,最好直接加L
C:定义float类型数据的的时候最好直接加F
D:double类型可以加D,也可以不加
标识符:
就是用来给包,类,方法,变量等起名字的符号
组成规则:
A:unicode字符:(数字字符,英文大小写字母,汉子,(不建议使用汉字))
B:下划线 _
C:美元符 $
注意事项:
A:不能以数字开头
B:不能是java中的关键字
常见命名规则:
A:基本要求: 见明知意
B:常见的命名:
A:包 (其实就是文件夹,用于对类进行管理),全部小写,多级包用点(.)隔开 举例: com.itheima
B:类 一个单词首字母大写 举例: Demo,HelloWorld.
多个单词没个单词的首字母大写 举例: main(),eat(),eatMeat()
C:方法和变量 一个单子首字母小写,从第二个单词开始首字母大写: 举例: age,youAge
变量定义的注意事项:
A:变量未赋值,不能直接使用
B:变量只在他所属的范围内有效
变量属于他所在的那对大括号{}//代码块
C:一行上可以定义多个变量,单是不建议
类型转换:一种数据类型转换为另一种类型
类型转换的种类:
A:隐式转换(自动转换):
类型按照容量由小到大可以进行转换
转换规则:byte,short,char-->int-->long-->float-->double
B:强制转换:目标类型 变量名=(目标类型) (被转换的变量或表达式);
建议数据做运算,结果应该是什么类型就应该用什么类型接受,不要随便转换类型,否则会有精度的损失
示例: long l=10; int i =(int)l;
扩展:
byte b1=3,b2=4,b
byte b9=1000;
b=b1+b2;
b=3+4;
运算符:就是用于对常量和变量进行操作的符号
表达式:用运算符链接起来的符号java语法的式子
不同的运算符链接的表达式是不同类型的表达式
运算符分类:
算数运算符:+,-,*,/ 注意:整数相除只能得到整数,要想得到小数必须有浮点数参与运算
%用于获取俩个数相除时的余数
/用于获取俩个数相除时的商
字符参与加法运算,其实就是拿字符在计算机中存储的数据值来参与运算的
'A'65
'a'97
'0'48
字符串参与加法运算,其实做的不是加法运算,而是字符串的拼接
++,--:自减,自增,用于对变量加1或-1
++--可以用再变量的后面,也可以放在变量的后面
++在后面,先拿变量做操作,然后变量在++
++在前面,先变量++,然后在拿变量做操作
赋值运算符:基本的赋值运算符:=\
扩展的赋值运算符:+=,*=,/+,.... int a=20; a+=30,拿+=左边和邮编的数据做+,然后吧结果赋值给左边
关系运算符:==,!=,>,>=,<,<= 关系运算符的结果是boolean类型,
逻辑运算符:用于连接关系表达式
|:与,并且(有false,则false),
&:或,或者(有true则true)
^:异或,相同则false.不同则true
!:非,取相反的结果
&&:逻辑与(短路与),只要左边是false,则不判断右边,直接false
||:逻辑或(短路或).只要左边是true,则不判断右边,直接true
三元运算符:关系表达式?表达式1:表达式2
执行流程:A:计算关系表示的值,看是true还是hifalse
B:如果是true,表达式1就是结果
如果是false,表达式2就是结果
键盘录入数据:"Scanner"类
使用步骤:
A:导包import java.util.Scanner; 导包的目的是为了使用需要的类
在一个类中的顺序:package>imoort>class
B:创建键盘录入
Scanner sc=new Scanner(System.in);
C:接受数据
int i=sc.nextInt();
选择流程控制语句
在一个程序执行的过程中,
1.1循序结构的基本使用
没有特定的语法结构,按照代码的先后顺序,依次执行
1.2if语句格式1的基本使用
if语句第一种格式:
if(关系表达式){
语句体
}
执行流程:
A:首先判断关系表达式看其结果是true还是false,
B:如果是true就执行语句体
C:如果是false就不执行语句体
1.3if语句格式2的基本使用
if语句第二种格式:
if(关系表达式){
语句体1
}else{
语句体2
}
执行流程
A:首先判断关系表达式看其结果是true还是false
B:如果是true就执行语句体1
C:如果是false就执行语句体2
1.3if语句格式3的基本使用
if语句第三种格式:
if(关系表达式1) {
语句体1;
}else if (关系表达式2) {
语句体2;
}
…
else {
语句体n+1;
}
执行流程:
A:首先判断关系表达式1看其结果是true还是false
B:如果是true就执行语句体1
C:如果是false就继续判断关系表达式2看其结果是true还是false
D:如果是true就执行语句体2
E:如果是false就继续判断关系表达式…看其结果是true还是false
F:当所有的关系表达式都是false的时候就执行语句体n+1
switch语句体:
switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体1;
break;
.....
befaule:
语句体n+1;
break;
}
格式解释:
表达式:byte,short,int,char都是可隐式转换为int的类型所以也可以使用
JDK5以后可以枚举
KDK7以后可以是字符串
小括号中可以是常量,也可以变量
case后面的值:
用来和表达式的值进行匹配的
值只能是常量
值得类型应该和switch小括号中值得类型一直
break:中断
default:当所有case都不匹配时,执行default
for循环的格式及执行流程
循环语句的组成:
初始化语句:一条或多条语句,这些语句完成一些初始化操作
判断条件语句:这是一个boolean表达式
for循环语句的格式:
for(初始化语句;判断条件语句;控制条件语句){
循环体语句
}
执行流程:
A:执行初始化语句
B:执行判断条件语句,看其结果是true还是false
如果是false,循环结束。
如果是true,继续执行。
C:执行循环体语句
D:执行控制条件语句
E:回到B继续
水仙花术:一个三位数,其实一个数字的立方和等于该数的本身
while循环的语句格式:
while(判断条件){
循环体语句;
}
while扩展格式:
初始化语句;
while(判断条件语句){
循环体语句;
控制条件语句;
}
do....while循环格式及基本使用
do....while循环语句格式
基本格式:
do {
循环体语句;
}while((判断条件语句);
扩展格式
初始化语句:
do {
循环体语句;
控制条件语句;
} while((判断条件语句);
continue:结束本次循环,继续下次循环
Randou作用:产生一个随机数
使用步骤:
A:导包 import.jaba.utll.Random
B:创建对象 Random r=new Random
C:获取随机数 int number=r.nextInt(10) 获取数据的范围[0,10),包括0,不包括10
数组的概述和定义格式:
数组是存储同一种数据类型的多个元素的容器
定义格式:
A:数据类型[]数组名;(推荐方式)
举例:
int[]arr; 定义一个int类型的数组,数组名是arr
B:数据类型 数组名[];
举例:
int arr [];定义了一个int类型的变量,变量名是arr数组
数组的初始化:
A:所谓的初始值,就是为数组开辟内存空间,并为数组中的每个元素赋予初始化值
B:我们有俩种方式可以实现数组的初始化
初始化:
a:动态初始化 只给出长度,有系统给出初始化值
b:静态初始化 给出初始化值,有系统决定长度
动态初始化:
数据类型[]数组名=new 数据类型[数组长度];
int [] arr = new int [3];
静态初始化:
数据类型[]数组名=new 数据类型[]{元素1,元素2,元素3,....};
int[] arr = new int []{1,2,3,...};
简化格式:数据类型[]数组名={元素1,元素2,元素3,....};
int[]arr={1,2,3};
数组的长度 什么是长度?数组中元素的个数
数组名.length:length是属性,获取数组的长度
数组中的元素:数组中的单个数据
数组的索引:元素在数组中的位置序号,从0开始
访问数组的元素:数组名[索引]
数组的遍历:
什么叫遍历:一次获取数组宏的所有元素
如何遍历?for循环实现
java中的内存分配:栈,堆,方法区
栈(存储的是局部变量):局部变量(int[]arr)就是定义在方法中的变量,使用完毕后立即回收
堆(存储的是new出来的东西,实体,对象):
a:每一个对象都有地址值
b:每一个对象的数据都有默认值byte,short,int,long 0,
float,double 0.0
char '\u0000'
boolean false
引用类型 null
c:使用完毕后,会在垃圾回收器空闲时被回收
方法去
静态初始化:
数据类型[]数组名=new 数据类型[]{元素1,元素2,元素3,....};
int[] arr = new int []{1,2,3,...};
简化格式:数据类型[]数组名={元素1,元素2,元素3,....};
int [] arr= {1,2,3};
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2