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 |