Java学习

xiaoxiao2021-02-28  93

第一章 1.程序:一系列有序指令的集合。一系列动作执行的描述。 2.java技术平台: a.javase:java技术的核心,和我们后期学习 java的基础 b.javaee:企业级应用的开发。 c.javame:主要手机开发。 3.开发java程序的步骤: a.编写源程序,后缀名是.java b.编译源程序,命令是javac 文件名.java,编译后生成后缀名为.class的字节码文件 c.运行程序,命令是 java 文件名 4.java程序框架需要注意的东西: a.public class 类名{},类名必须与文件名相同。类名的首字母需要大写。 b.main函数四要素:   A.public B.static C.void D.String[] args   main函数是程序的入口。一个完整的程序只能有一  个main函数 c.java一行只写一条语句,语句以结束符英文状态分号为结束 d.注意层级之间的缩进 5.配置环境变量: a.path:java jdk的目录 path找到bin文件夹路径,复制粘贴到path的变量值文本框里面 b.classpath: jdk目录的lib文件夹路径,复制粘贴到classpath的变量值文本框内,必须注意,在路径前面需要加.; 6.java注释: a.单行注释:// 一般写在需要解释行的上面或者后面,只对一行起作用 b.多行注释:/*  */ 把需要注释的内容包含起来即可。 7.Myeclipse编辑工具: 编写java文件的步骤: 点文件(file)?new?javaproject? 右击SRC ?创建包?右击包?创建class类 包资源管理器:Package Explorer 包是以com.bdqn.test 的形式显示,包含的是java的源文件。 导航器:Navigator 包是以文件夹的形式存在,既包含源文件,也包含被编译过后的.class字节码文件。 控制台:console 主要是用于输出的显示和在控制台的输入。 菜单栏 source下面的format可以整理源文件的格式与缩进。 alt+/是快捷提示键。我们只需要打出关键代码就可以用alt+/打出剩余的代码。 ctrl+D 删除一整行 注意:以上三个都在菜单栏WINDOW下面的Show view下去找。 第二章 1.变量:程序的最小单元。用来存储单个数据。 2.基本数据类型:(8种): byte 字节型(1个字节) short 短整型(2个字节) int 整型(4个字节) long 长整形(8个字节) 以上四个都是用来存储整数的,各自范围不同。一个字节为8位:它们个字的范围公式为 负的2的字节数乘以8减1次方到2的字节数乘以8减一的次方减1 float 浮点型(也是小数类型,但是要注意,定义的时候例如:float f=1.0f;数字后面的f必须加上,因为小数默认是double型的。) double 双精度型 以上两个为小数类型。 Boolean 布尔类型 只有两个值:true 和false char 字符型 定义例如:char c=’男’;注意它的定义使用的是单引号。 以上是基本数据类型,我们还学习到了另外一种字符串 String类型。 3.变量的定义:两种方式 a.先声明后赋值:例如: int a; a=10; b.边声明边赋值 例如: int a=10;我们经常使用这一种方式。 4.变量名的命名规则: a.首字母必须以字母、_、$、为开始 b.后面的是数字、字母、_、$的任意组合 c.一般定义变量名要起到见名知意的作用。 d.不能使用java关键字。如 int double public String …… 5.赋值运算符:=(等号,把右边的值赋给左边的变量) 6.算数运算符:+、-、*、/、% 7.关系运算符:>、<、>=、<=、==、!= 注意:他们判断的结果类型是boolean类型,经常用在if结构和循环结构中。 8.Scanner sc=new Scanner(System.in); Scanner 类是在java.util包中,主要提供了java的一些工具类。用到它就需要导包。import java.util.*;或者是import java.util.Scanner; 它的几个我们常用的方法: int a=sc.nextInt(); double b=sc.nextDouble(); String c=sc.next(); 9.类型转换: a.自动类型转换: 数据类型兼容 大数据类型接收小数据类型的数据 小数据类型向大数据类型转换 例如: int a=10; double b=a; a的数值类型自动转换成double型 b.强制类型转换 数据类型兼容 小数据类型接收大数据类型的数据 大数据类型向小数据类型转换 例如 double a=1.0; int b=(int)a; a的数值类型需要强制转换才能被int变量接收。 第三章 1.逻辑运算符: &&(与):两边条件表达式同时为真的时候,整个表达式的值才为真,有一个为假,结果为假 ||(或):两边表达式的值有一个为真。整个表达式的结果为真,同时为假才为假。 !(非):非真为假,非假为真。 2.单if结构:用于处理简单的条件判断 if(){ } 3.if else结构:简单分支 if(){ }else{ } 4.if elseif结构 if(){ }else if(){ } …//能够有多个else if(){} else if(){ }else{ } 注意:最后的else可以省略,多个else if块之间的顺序可以改变,但是对程序结果有影响。 5.嵌套if if(){ //外层if if(){ }else if(){ //内层嵌套 }else if(){ }else{ } }else if(){ //也可以嵌套 }else if(){ } 注意:多重if主要处理连续区间的判断 6.流程图: 圆角矩形:程序的开始和结束 矩形:计算步骤,处理部分 菱形:条件判断 平行四边形:输入输出 流程线 连接符 7.随机数:Math.Random();生成0到1之间的数字。包括0不包括1. 第四章 1.switch结构 switch(num){ case 常量1: break; case 常量2: break; ……. case 常量n: break; default: break; } 注意:a.switch结构只能做等值判断 b.变量num的类型只能是整型(int)或者字符型(char) c.case后面只能是常量 d.default是其他所有常量都没有匹配的默认情况,可以省略。 e:break;可省,但是一般会写。 f:注意代码的缩进 2.Scanner 类的hasNextInt();判断下一次nextInt()的值是不是整型数字。如果是,返回true;如果不是,返回false. 用法如下: if(sc.hasNextInt()){ //第一句 int a=sc.nextInt();// 第二句 } hasNextInt()判断在它之后的第二句输入值是否是int类型。 第五章 while循环 循环:重复的做某件事情 1.while循环结构 int i=0; while(i<10){ //代码块 i++; //着重注意,防止死循环 } 2.do while结构 int i=0; do{ //代码块 i++; }while(); 注意:1.do while循环至少要执行一次 2.while 有可能一次都不执行 3.循环次数不固定的情况我们一般选用while循环 4.while循环是先判断后执行 do while循环是先执行后判断 3.程序调试  a.设置断点 b.单步执行   F5单步跳入  F6 单步跳过  F8 从此处的断点跳到下一个断点  c.观察变量 第六章 for循环 1.for循环结构 for(1循环变量初始化;2条件判断;3循环变量的更新){ 4代码块; } 注意:必不可少的是两个分号。 执行顺序是1243; 2.跳转语句 a.break 终止循环; b.continue  略过循环内部在continue之后的代码,进行到下一次循环。 c.return  返回结果 结束方法、 第八章 数组 1.数组区别于变量 变量只能存储一个数据 数组存储多个相同数据类型的数据 2.定义方式: a.int[] 数组名=new int[数组长度]; 数组名[下标]=具体的数字; b.int[] 数组名=new int[]{1,2,3,3}; c.int[] 数组名={1,2,3,4}; 3.数组的常用方法 注意:说到数组想到循环 数组下标从0开始 a. 求总和和平均值 int sum=0; for(int i=0;i<数组.length;i++){ sum=sum+数组[i]; } int avg=sum/数组.length; b. 逆序输出 for(int i=数组.length-1;i>=0;i--){ 输出语句; } c. 数组排序 Arrays.sort(数组名); d. 数组元素的插入  详见共享 e.最大值和最小值  int min=数组名[0];  int max=数组名[0]; for(int i=1;i<数组.length;i++){ if(max<数组[i]){ max=数组[i]; } if(min>数组[i]){ min=数组[i]; } } 注意:数组下标从0开始; 下标不能到达数组长度位置,应为数组长度-1 防止数组越界 第九章 双层循环 1.双层循环: 就是循环内部嵌套循环 for(int i=0;i<10;i++ ){ for(int j=0;j<10;j++){ } } 注意:双层循环结构内循环变量声明必须不同 break和continue 只能作用于一层循环。 练习题要注意的有: 1.99乘法表、菱形和空心菱形 第11章 类和对象 1. public class 类名{ 属性1; 属性2; //方法 public void 方法名(){ 方法体; } } 注意:属性是类的静态特征,方法类的动态的特征。共同组成类。 类和对象的关系: 类是对象的抽象,对象是类的实例化。 2. 创建对象和调用属性方法 a. 创建对象 类名 对象名 =new 类名();  b. 调用属性和方法 对象名.属性; 对象名.方法名();  注意:java面向对象三大特征:封装,继承。多态。 第12章   无参方法 1. 方法的定义 a) 访问修饰符  返回值类型  方法(){ 方法体;(实现代码部分) } 2. return  a) 结束方法(main也能被它结束掉) b) 返回结果 注意:a. 无返回方法一般不在方法体内部写return。 public void fun(){ String name=“”; return name;错误的写法,无返回方法,不能返回值。 } b.一个方法只能返回一个值。 public void fun(){ String name=”1212”; String birthday=”1998-01-01”; return name,birthday; } 上面是错误的做法! c.不能嵌套定义方法 public void fun(){ public void fun1(){ //这样做是错误的。方法不能嵌套定义 } } d.不能再方法外部直接写程序逻辑代码。 public void fun(){ } if(true){ System.out.println(“这个if结构会报错,因为它写在了方法的外部”); } 3. 成员变量和局部变量 a. 作用域不同 a) 成员变量作用于整个类的内部。类的方法都可以使用成员变量 b) 局部变量只存在于定义它的方法内部,其它方法无法使用到它。 b. 初始值不同 a) 成员变量有初始值。 String 类型初始值为null; int类型初始值为0; double类型初始值为0.0; 自定义类的对象初始值为null; 4. java注释分为三种: a. 单行注释 //注释内容 b. 多行注释/*注释内容*/ c. 文档注释/** *这里写注释包括作者 *信息,程序版本,方 *法参数,返回值等等 */ file? export?java?javadoc? 4. 方法的调用: a) 在同一个类中,可以直接调用方法即:方法名(); b) 在不同类中调用方法时,必须要创建对象。拿对象调用。即:对象名.方法名(); 第14章 有参方法 1. 有参方法的定义: a) 访问修饰符 返回值类型 方法名(参数1,参数2……){ 方法体; } 注意:1.定义时候和调用时候参数数量必须一致。2.定义时候和调用时候参数顺序必须一致。3.定义时候和调用时候参数数据类型必须一致。4.调用时候参数不能带数据类型。5.参数可以是任何数据类型(包括基本数据类型和应用数据类型(数组,自定义类)); 2. 包 a. 包的命名 1. package com.bdqn.test; 域名倒置的命名规则。 eg:如果是百度公司的。网址是www.baidu.com。我们在命名包的时候应该这样写。 com.baidu.部门名.项目 b. 包的作用 1. 用于归类 a) 把功能相同的类放在同一个包下面。 2. 防止命名冲突 3. 保护类的属性方法等等(后面会学习到。) 4. 导入包关键字:import 包名; 5. 可以再包资源管理器和导航器中观察包。 第15章 一、 String类 String s=””; String s1=new String(); s1=”  ”; String s2=new String(“   ”); 1. length();获得字符串的长度 eg:s.length(); 2. equals();判断两个字符串对象的内容是否一致。eg:s.equals(s1); 3. concat();连接字符串 eg:s.concat(s1);  ps:连接过后s和s1的值是没有改变的。但是如果这样写。String s3=s. s.concat(s1);s3的值是他们两个拼在一起的值。 4. indexof(“字符串”)或者indexof(‘字符’); eg:s.indexof(“a”); 返回a字符串在s中的下标,如果没有找见,返回-1; 5. substring();截取字符串;eg:1.s.substring(1); 从下标为1的位置开始(包含1),截取之后的所有字符串。 2.s.substring(1,4);从下标为1的位置开始(包含1),截取下标为4之前的字符串(不包括4); 6. equalsIgnoreCase();忽略大小写 eg: s. equalsIgnoreCase(s1); 7. toUpperCase();全部转换成大写; 8. toLowerCase();全部转换成小写。 9. trim();去掉字符串前后的空格。 二、 StringBuffer; StringBuffer sb=new StringBuffer(); sb.append(“000”); StringBuffer sb1=new StringBuffer(“   字符串 ”); 1. toString();讲StringBuffer类转换成String类型 2. append();追加字符串 eg:sb.append(“1234”);则sb的值最后为”000123”; 3. insert(下标,字符串);插入字符或者字符串。eg:sb.insert(1,”222”);则sb的值最后变为”022200”;
转载请注明原文地址: https://www.6miu.com/read-62824.html

最新回复(0)