黑马程序员技术交流社区

标题: 【石家庄校区】基础学习六日总结 [打印本页]

作者: 晨阳    时间: 2017-11-29 17:11
标题: 【石家庄校区】基础学习六日总结
本帖最后由 小石姐姐 于 2017-11-30 10:37 编辑

  
day1:
  java的概述:
  创始人詹姆斯•高斯林;java语言的发展和平台概述。
  java跨平台的原理和jvmjrejdk的介绍:
  JVM:
  JavaVirtualMachine,Java虚拟机.Java实现的虚拟的计算机,在不同的操作系统中模拟出相同的运行环境
  JRE:
  JavaRuntimeEnvironment,Java运行时环境.
  包括JVM和Java核心类库
  是运行Java程序的最小环境
  JDK:
  JavaDevelopmentKit,Java开发工具包
  包括JRE和Java开发工具(javac等)
  JVM,JRE,JDK的关系:
  JVM<JRE<JDK
  常用DOS命令:
  Win+R,输入cmd回车---打开控制台
  d:回车盘符切换
  dir(directory)列出当前目录下的文件及文件夹
  cd(changedirectory)改变指定目录(进入指定目录)
  
常量
  
字符串常量:"hello"
  
字符常量:'a'
  
整数常量:12
  
小数常量:12.23
  
布尔常量:true,false
  
空常量:null
  
变量
  
变量是内存中的一块区域,保存着一个值.
  
变量的定义格式:数据类型变量名=初始化值;
  
变量的数据类型:
  
基本数据类型字节数
  
整数byte1
  
short2
  
int4
  
long8
  
小数float4
  
double8
  
字符char2
  
布尔boolean1
  
注意:整数默认int类型,浮点数默认double类型
  
所以long类型要加L,float类型要加F
  
longl=10L;floatf=1.0F;
  
  
变量未赋值时不能使用
  
数据类型转换:
  
隐式转换:
  
byte,short,char-->int-->long-->float-->double
  
强制转换:
  
目标类型变量名=(目标类型)(被转换的变量);
  
inta=(int)1.3;
  
byte,short,char进行运算时,会转为int
  
day2
  
Eclipse概述和安装
  
eclipse安装版本要与jdk一致
  
选择工作空间
  
工作空间其实就是我们写的源代码所在的目录
  
A:行号的显示和隐藏
  
显示:在代码区域的最左边的空白区域,右键--ShowLineNumbers即可。
  
隐藏:把上面的动作再做一次。
  
B:字体大小及颜色
  
a:Java代码区域的字体大小和颜色:
  
window--Preferences--General--Appearance--ColorsAndFonts--Java--JavaEditTextFont
  
b:控制台
  
window--Preferences--General--Appearance--ColorsAndFonts--Debug--Consolefont
  
c:其他文件
  
window--Preferences--General--Appearance--ColorsAndFonts--Basic--TextFont
  
C:窗体给弄乱了,怎么办?
  
window--Perspective--ResetPerspective
  
D:控制台找不到了,怎么办?
  
Window--ShowView—Console
  
  
  
常用辅助键和快捷键概述
  
内容辅助键alt+/
  
快捷键
  
注释
  
单行选中内容,ctrl+/,多行选中内容,ctrl+shift+/,ctrl+shift+\
  
格式化ctrl+shift+f
  
  
A:删除项目
  
选中项目–右键–删除
  
B:导入项目
  
在项目区域右键找到import
  
找到General,展开,并找到
  
ExistingProjectsintoWorkspace
  
点击next,然后选择你要导入的项目
  
运算符
  
A.算数运算符
  
+,-,*,/,%,++,--
  
+:字符串参加加法:拼接
  
字符参与加法:字符对应的ASCII码参与运算
  
/:就是两个数相除后的商,5/3.0=1
  
%:就是两个数相除后的余数,5%3=2
  
++
  
i++:先去i的值,后对i进行+1
  
++i:先对i+1,再用i的值
  
B.赋值运算符
  
基本赋值运算符:inta=10;//与==区分开
  
扩展赋值运算符:+=,-=,*=,/=,%=
  
注意:扩展赋值运算符隐含了强制类型转换
  
a+=10;相当于a=(a的类型)(a+10);
  
C.关系运算符
  
==,!=,<,<=,>,>=
  
关系运算符的结果是boolean类型
  
D.逻辑运算符
  
&,|,!,^,&&,||
  
注意:&和&&的区别,&&有短路效果,只要左边是false,则不判断右边,直接false
  
if(i++>10&&j--<10)
  
|和||的区别,||有短路效果,只要左边是true,则不判断右边,直接true
  
E.三元运算符
  
关系表达式?表达式1:表达式2;
  
三元运算符是有返回值的,需要一个变量来接收返回值
  
Stringresult=(i%2==0)?"偶数":"奇数";
  
intmax=(a>b)?a:b;
  
键盘录入
  
步骤:
  
a.导包importjava.util.Scanner;
  
b.创建Scanner对象:Scannersc=newScanner(System.in);
  
c.接收键盘输入数据:inti=sc.nextInt();
  
day3
  
顺序结构
  
选择结构
  
if语句:三种格式
  
if (关系表达式) {
  
语句体
  
}
  
if(关系表达式) {
  
语句体1
  
} else {
  
语句体2
  
}
  
if(关系表达式1) {
  
语句体1
  
} else if (关系表达式2) {
  
语句体2
  
}...{
  
  
} else { // else {} 是可选的
  
语句体n
  
}
  
switch语句
  
switch(表达式){
  
case 1:
  
语句体1;
  
break;
  
case 2:
  
语句体2;
  
break;
  
....
  
default:
  
语句体 n+1;
  
break;
  
}
  
循环控制语句
  
for循环:
  
for(初始化语句; 判断条件语句; 控制条件语句) { 循环体语句;  }
  
while循环:
  
while(判断条件语句) { 循环体语句; }
  
do...while循环:
  
do { 循环体语句; }  while(判断条件语句);
  
循环控制语句
  
break: 直接结束循环, switch语句
  
continue: 结束本次循环, 继续执行下一次.
day4  
方法定义格式及格式解释
  
简单的说:方法就是完成特定功能的代码块
  
  
在很多语言里面都有函数的定义,函数在Java中被称为方法
  
定义格式:
  
  
*修饰符返回值类型方法名(参数类型参数名1,参数类型参数名2...){
  
  
*方法体;
  
  
*return返回值;
  
*方法的两个明确:
  
  
*A:返回值类型明确功能结果的数据类型
  
  
*B:参数列表明确有几个参数,以及参数的类型
  
  
方法调用
  
  
有明确返回值的方法调用:
  
  
单独调用,没有意义
  
  
输出调用,有意义,但是不够好,因为我不一定非要把结果输出
  
  
赋值调用
  
  
void修饰的方法的调用
  
没有明确返回值的函数调用:
  
  
其实就是void类型方法的调用
  
只能单独调用
  
方法重载的概述和基本使用
  
在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。
  
注意:
  
方法的形参是基本数据类型:形参的值改变不会影响实际参数
  
方法的形参是引用类型
  
注意:方法的形参是引用数据类型:形参的值改变是否影响实际参数,要看引用关系
  
如果形参是修改自身保存的引用,不会影响实际参数
  
如果形参是通过引用修改堆内存中保存的数据,会影响实际参数获取的值
  
day5
  
Random和数组
  
Random用于产生随机数;
  
file:///C:/Users/陈洋/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif
  
数组是存储多个变量(元素)的东西(容器)
  
元素的数据类型需一致
  
定义格式:
  
A:数据类型【】数组名;(推荐使用)
  
B:数据类型数组名【】:
  
定义完之后数组是没有内容的
  
  
举例:
  
*A:int[]a;定义一个int类型的数组,数组名是a
  
*B:inta[];定义一个int类型的变量,变量名是a数组
  
*
  
*数组初始化:
  
*A:所谓初始化,就是为数组开辟内存空间,并为数组中的每个元素赋予初始值
  
*B:我们有两种方式对数组进行初始化
  
*a:动态初始化只指定长度,由系统给出初始化值
  
*b:静态初始化给出初始化值,由系统决定长度
  
*
  
*动态初始化:
  
*数据类型[]数组名=new数据类型[数组长度];
  
int[]arr=newint[3]
  
左边:
  
*int:说明数组中的元素的数据类型是int类型
  
*[]:说明这是一个数组
  
*arr:是数组的名称
  
*右边:
  
*new:为数组分配内存空间
  
*int:说明数组中的元素的数据类型是int类型
  
*[]:说明这是一个数组
  
*3:数组的长度,其实就是数组中的元素个数
  
  
数组中元素的访问
  
数组元素的访问需要借助索引(角标)
  
索引比数组长度的最大值小1
  
int[]arr=newint[3]索引为0;1;2
  
静态初始化格式
  
  
静态初始化的格式:
  
*数据类型[]数组名=new数据类型[]{元素1,元素2,...};
  
*
  
*简化格式:
  
*数据类型[]数组名={元素1,元素2,...};
  
*
  
*
  
举例:
  
*int[]arr=newint[]{1,2,3};
  
*
  
*简化后:
  
*int[]arr={1,2,3};
  
file:///C:/Users/陈洋/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif
  
两个常见小问题:
  
*A:java.lang.ArrayIndexOutOfBoundsException
  
*数组越界异常
  
*产生的原因:就是你访问了不存在的索引元素。
  
*B:java.lang.NullPointerException
  
*空指针异常  
  
length
  
用于获取数组的长度
  
获取数组中元素的个数:数组名.length
  
file:///C:/Users/陈洋/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif
  
二维数组格式
  
定义格式
  
数据类型[][]数组名;
  
数据类型数组名[][];不推荐
  
数据类型[]数组名[];不推荐
  
初始化方式
  
数据类型[][]变量名=new数据类型[m][n];
  
数据类型[][]变量名=new数据类型[][]{{元素…},{元素…},{元素…}};
  
简化版格式:数据类型[][]变量名={{元素…},{元素…},{元素…}};
  
  
  
*二维数组:就是元素为一维数组的数组。
  
  
两种初始化的区别
  
动态初始化,二维数组中的一维数组的长度是固定的,因为n已经确定静态初始化,二维数组中的一位数组长度可以是不同的注意:int[][]arr=newint[3][];不给一维数组长度是正确的
  
含义:创建了一个长度为3的二维数组,而不创建内部的一维数组.而动态初始化是需要给元素默认值的,二维数组中的一维数组是引用类型,所以是默认值null.即创建完的数组为[null,null,null]
  
如果不给二维数组长度则是错误的,因为虚拟机无法知道要如何创建该数组
  
获取二维数组中某个一维数组的某个元素值:
  
·arr[二维数组索引][一维数组索引]
  
·day6
  
Eclipse断点调试概述
  
Eclipse的断点调试可以查看程序的执行流程和解决程序中的bug
  
Eclipse断点调试常用操作:
  
A:什么是断点:
  
就是一个标记,从哪里开始。
  
B:如何设置断点:
  
你想看哪里的程序,你就在那个有效程序的左边双击即可。
  
C:在哪里设置断点:
  
哪里不会点哪里。
  
目前:我们就在每个方法的第一条有效语句上都加。
  
D:如何运行设置断点后的程序:
  
右键--Debugas--JavaApplication
  
E:看哪些地方:
  
Debug:断点测试的地方
  
在这个地方,记住F6,或者点击也可以。一次看一行的执行过程。
  
Variables:查看程序的变量变化
  
ForDemo:被查看的源文件
  
Console:控制台
  
F:如何去断点:
  
再次双击即可
  
找到Debug视图,Variables界面,找到Breakpoints,并点击,然后看到所有的断点,最后点击那个双叉。
  
  
  
  
  
  






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2