java笔记

一、dos命令
1.退回上一格 cd…;
2.退回根目录 cd;
3.进入指定文件夹 cd user(文件名);
4.切换盘符 d:(进入D盘)
5.不切盘符直接进文件夹 cd d:\user(进入D盘的user);输入命令后记得切盘符 d: ;
6.展示当前目录下的所有内容 dir
7.清屏 cls;
8.打开记事本 notepad;
9.查看WindowsIP配置 ipconfig
10.进入文件夹时 可以输入前面的字母 然后用Tab 可以现实出文件全名;
二、JDK和JRE
1.jdk :Java的开发环境;
2.Jre :Java的运行环境;
3.跨平台特性,依赖Java的虚拟机JVM(Java Virtual Machine);
4.如果想在哪个系统里运行,只需要下载安装系统的虚拟机就可以运行,虚拟机包含在JRE里,JRE包含在JDK里;
三、注释
1.单行注释 //注释内容
2.多行注释 /注释内容/
3.文档注释 /*注释内容/
四、标识符
1.标识符就是我们自己定义的内容;
2.标识符的规则:组成:字母52个A-Z 数字 0-9 _(下划线) $ 美元符 注意:(字母,u不能开头,不能使用关键字。严格区分大小写,尽量做到见名知意)
3.方法名:首字母小写,后面每个单词首字母大写
4.类名:首字母大写,后面每个首字母大写
五、数据类型
1.基本数据类型:整数、小数、字符、布尔
引用类型:数组、类、接口
2.基本类型 4类8种
整型:
Byte 1字节 -128(27)~127(27-1) 2^(8-1)
Short 2字节 -32768(2^15)~32767 2^(28-1)
Int 4字节 -2147483648(2^31)~2147483647 2^(4
8-1)
Long 8字节 -2的63次方~2的63次方-1 2^(8*8-1)
浮点型:
Float 4字节 -3.403E38~3.403E38
Double 8字节 -1.798E308~1.798E308
字符型:
Char 2字节 表示一个字符,如:(‘A’ ’a’ ’0’ ’家’)
布尔型:
Boolean 1字节 只有两个值 true和false
3.整数一般默认为int,如果写的数字超过int范围,需要在数字后面加L;
4.浮点类型一般默认为double,如果超过范围,需要在后面加F;
六:比特位(bit)

  1. 1B(字节) = 8bit;
    1KB = 1024B;
    1MB = 1024KB;
    1GB = 1024MB;
    1TB = 1024GB;
    1PB = 1024TB;
    七:变量创建三要素:
    1.指定数据类型;
    2.划分区域(定义变量名);
    3.数据值;
    八:变量使用的注意事项
    1.定义变量后不赋值无法使用;
    2.变量定义后有自己的使用范围,定义的一对大括号内;
    3.定义的变量名只能有一个,不能重复出现;
    九、数据类型转换(boolean不参与类型转换)
    1.范围小的数据类型可以直接转为数据范围大的类型;(如byte-int);
    2.范围大的数据类型不可以转换为范围小的数据类型;(如int-byte);
    3.数据范围从小到大;
    Byte-byte-int-long-float-double
    4.数据类型的强转(强制类型转换,在没有要求的时候不要做,容易损失精度)
    强转的公式:被转后的类型 变量名 = (被转后的类型)要转的数据
    比如 doule 转 int;
    double d = 3.14;
    Int i = (int)d;
    十、运算符
    1.j + = 3 等同于 j = j +3;
    eg:byte b = 1;
    b+=1;//等同于 b = (byte)(b+1);因为b为byte型,1为int型,运算时需要把B转换为int型才可以计算,计算完成后的值为int型,如果需要再次赋值给B,则需要将结果转换为byte型,要不然无法赋值,损失精度;
    2.运算符号
  • 加法 同时也是连接符号
  • 减法
  • 乘法
    / 取整
    % 取余
    3.a++与++a
    单独使用时,都是让a的值增加1;
    不同的是与赋值号“=”一起使用时,y=++a表示先将a的值增加1后,再把值赋给y;
    而,y=a++表示先把a的值给y,a自己再增加1.
    十一、比较运算符,结果为true或者false
    1.== 比较数值 等于
    2.!= 比较数值 不等于
    十二、逻辑运算符,对两个boolean类型进行计算
    & 且 两个值,一边为false则结果为false;
    | 或 两个值,一边为true,则结果为true;
    ^ 异或 两边相同为false,否则为true;
    !非(取反) !true = false !false = true;
    && 短路与 一边为false,则另一边不运行;
    || 短路或 一边为true,则另一边不运行;
    十三、三元运算符
    1.公式 :布尔表达式?结果1:结果;
    2.布尔表达式的结果是true,则三元运算符的结果就是 结果1;(1>0)?11:12; 结果为11
    3.布尔表达式的结果是false,则三元运算符的结果就是结果2;(1>2)?11:12; 结果为12
    十四、引用数据类型
    1.格式:
    类型 变量名 = new 类型();
    变量名 . 功能名();
    举例:Scanner sc = new Scanner( system.in);
    2.步骤
    1.导入包,指明类所在的文件夹。(import java.util.Scanner;)
  1. 公式,new一个Scanner 类型的变量
  2. 变量 . 方法名();使用功能
    Eg: sc.nextInt();
    4.数据类型:
    1.Scanner 获取键盘输入
    2.Random 获取一个随机数
    十五、选择结构
    1.if …else…
    2.格式
    If(条件 ){
    结果1
    }else if(){
    结果2
    }else{
    结果3
    }
    条件:结果必须是布尔类型
    3.三元运算符和选择结构的转换(条件少时选择三元运算符,条件多时,选择if)
    格式:判断条件?结果1:结果2;
    十六、循环结构
    1.while
    while(条件){
    循环体
    }
    条件:当条件为true时,执行循环体,直到条件为false时结束循环
    Eg: int i = 1;
    While ( i < 5){
    System.out.println(i);
    I++;
    }

2.for
格式
for(初始化变量;条件;增量){
循环体
}
初始化变量:定义变量,作用,控制循环次数
条件:当条件为true时执行循环,条件为false时,结束循环;
增量:变量自增情况
eg:
for(int i = 0; i < 10 ; i++){
System.out.printlin( );
}
3.do … while 特点:无条件先执行一次才开始判断条件
格式:
do{
循环体
}while(条件);
eg:
Int i = 0;
do{
System.out.println( i );
I++;
}while(i < 7);
4.无限循环写法:
1.While
(1)While(true){

}

2.For
(1)for( ; ; ){

}
(2)for( ; true ; ){

}

5.循环嵌套
(1)定义:循环里面还有循环,一般用for比较多

for(int i = 0; i < 3 ;i++){
for(int j =0 ; i <5; j++){
循环的次数为外循环的次数 * 内循环的次数;
}
}
for循环 先执行 i =0, 然后判断条件,接下来进入内循环,等内循环完成后,增量,再重复循环的过程;
6.break;
(1)关键字:作用于循环中,终止循环的作用;
(2)eg:
①Int i =1;
While (true){
If( i == 3 ){
Break;
}else{
System.out.println( i );
}
I++;
}
7.continue
(1)作用,碰见continue则结束本次循环,开始下次循环;
(2)Eg:
Int sum = 0; //定义一个变量 sum
for ( int i = 1; i< = 10; i++){
If(i % 2 == 0 ){ //i是一个偶数
Continue; //i是偶数时则结束本次循环
}
Sum += i; //求所有奇数的和
}
十七、switch…case
1.Case具有穿透效果;
Case后面的常量和switch中的数据相同,没有break,一直向下穿透
Case后面没有break,程序会一直向下穿透
2.Swtich(表达式){
Case 1:
要执行的语句;
break;
Case 2:
要执行的语句;
break;
Case 3:
要执行的语句;
break;
Default:
要执行的语句;
break;
}
执行流程:表达式和case后面的常量进行比较
和哪个case后的常量相同,那就执行哪个case后面的程序,遇到break,全部结束;
3.switch语句中的表达式的数据类型是有要求的
(1)Jdk1.0 -1.4 数据类型接收 byte short int char
(2)Jdk1.5 数据类型接收 byte short int char enum(枚举)
(3)Jdk1.7 数据类型接收 byte short int char enum(枚举) String
十八、数组(学习的第一个容器)
1.格式
(1)数据类型[ ] 数组名 = new 数据类型[元素个数或数组长度];
数据类型:数组中存储元素的数据类型
[ ]表示数组的意思
变量名 自定义标识符
New 创建容器
(2)定义数组容器,要素,强制数组语言;
必须要有数据类型,大小(存储数据的个数);
Eg:int [] arr = new int[3];
数组是一个容器:存储到数组中的每个元素都有自己的编号
自动编号,最小值是0,最大值是数组的长度-1;
自动编号专业名词,索引(index),下标,角标
访问数组存储的元素,必须依赖于索引,公式 数组名【索引】

Jvm
数组的内存图
2.数组的属性
(1)Length
a.数组名 . length
b.数组的最小索引是0,最大索引是数字 . length -1;
3.数组的两个定义方式
(1)数组类型[] 变量名 = new 数据类型[]{元素1,元素2…};
注意事项:new后面的中括号中,不允许写任何内容,写了就会编译失败;
(2)数据类型[] 变量名 = {元素1,元素2,…}
十九、异常
1.数组索引异常
(1)
2.空指针异常
二十、二维数组
1.格式
(1)Int[] [] arr = new int [3] [4];
(2)[3] 表示二维数组中有三个一维数组;
[4]表示三个一维数组中的每个数组的长度为4;
二十一、方法
1.方法的定义:解决问题的办法就是方法;方法就是实现一个功能;
2.方法的格式:
(1)修饰符 返回值 方法的名字(参数列表…){
方法的功能主体
循环,判断,变量,比较,运算
Return;

修饰符:固定写法 public static
返回值类型:方法在运算后,结果的数据类型
方法名:自定义名字,满足标识符的规范,方法名首字母小写,后面每个单词首字母大写
参数列表:在方法的运算过程中,是否有未知的数据,如果有位置的数据,定义在参数列表上(定义变量);
Return:一个关键字,表示方法的返回,将计算的结果返回,同时也是结束方法;
Eg:
public static int getSq(int w,int h){
int area = w*h;

	return area;


3.方法执行流程:

4.注意事项:
(1)方法不能定义在方法里面;
(2)写错方法名
(3)写错了参数列表
(4)返回返回值是void,方法中可以不写return
(5)Return下面不能写代码
(6)方法重复定义;
(7)调用方法时,返回值是void,不能写在输出语句中
5.方法的重载特性
(1) 在同一类种,允许出现同名方法,只要方法的参数列表不通即可;
(2) 参数列表不同:参数的个数,数据类型,顺序不同
(3)重载的注意事项:
①参数列表必须不同;
②重载和参数变量名无关;
③方法的重载和返回值类型无关;
④重载和修饰符无关;
⑤重载只看方法名和参数列表;
(4)方法调用中的参数传递问题
①方法参数是基本数据类型
②方法参数是引用类型(数组)

基本类型传的是数据,引用类型传的是内存的地址;
二十二、集合

  1. 引用类
    (1)两种类型 第一种java为我们提供好的类 如scanner random等 第二种,我们自定义的方法 创建的类
    (2)类的定义
    ①两部分, 功能(方法) 属性
    ②格式:
    Public class 类名{
    //属性定义 修饰符 数据类型 变量名 =值;
    数据类型 属性名称1;
    //方法定义 修饰符 返回值 方法名(参数列表)
    数据类型 属性名称2;

    (3)
    2.集合的创建
    (1)
    (2)集合遍历时,只是把集合的元素取出来,所以他取的对象就是他存储的数据类型,所以当传方法时,需要用方法(对象)来接收;

(3)ASCII编码表

Char和short都是两个字节 但是 short 的最高位表示 正 否 所以他的取值范围是 -215-(215)-1
Char 的范围是 0- (2^16)-1 (减一是因为有0)
二十三、对象
1.对象的三个特点
(1)封装
①私有化 get set方法
(2)继承
①extends
②如果父类和子类有相同的元素,想要调用父类的 用 super
③This调用自己本类的成员
④重写 Override 子类中出现和父类一样的方法时,就叫子类重写父类的方法
⑤Java中的四个权限 public 公有 protected 受保护 default 默认(不写就默认为default 所以不能写) private 私有
(3)多态
2.抽象类
(1)abstract
①用修饰符abstract修饰
②抽象方法必须存在于抽象类中,所以如果要定义抽象方法的话,那么所在的类也必须是抽象类;
③抽象类不能创建对象(不能new);
④抽象类的使用:定义抽象继承类,将抽象方法进行重写,创建子类的对象
⑤抽象类可以定义没有抽象类的方法,是可以让子类继承后直接使用方法;
⑥抽象方法不能私有,因为他本来就是要子类重写的,如果私有了则不能重写;
⑦抽象类的定义:
Eg:public abstract calss xxx{
Public abstract void xxx();
}
二十四、接口
1.接口interface
(1)接口的定义:
①接口内的方法都必须是抽象方法,而且所有的变量 方法都必须是公有的;
②方法:public abstract void xxx():
③变量:public static final int i = 5;
④接口中成员变量的特点:
⑤ *1.没有变量,都是常量
⑥ *2.有固定格式,有修饰符
⑦ *public static final 类型 = 值 ;
⑧ *3.接口不能创建对象
⑨ *4.子类必须覆盖掉接口中的所有抽象方法,才可以实例化,否则子类就是一个抽象类;
⑩实现类可以实现多个接口,用于解决单继承的问题,需要注意,实现多接口;

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值