JAVA基础

环境变量

安装 jdk-8u40-windows-x64

  • 配置 环境变量->系统变量-> Path路径
  • C:\Program Files\Java\jdk1.8.0_40\bin
  • C:\Program Files\Java\jdk1.8.0_40\jre\bin

CMD命令输入 java、javac、java -version 查看是否成功


bin目录下

  • java.exe:负责运行
  • javac.exe:负责编译
  • javadoc.exe:解析javadoc注释,生成帮助文档
  • native2ascii.exe:可以将文字转为unicode编码

classpath(没用过)
.;otherpath

Hello W运行

HelloWorld.java文件

// 以下javadoc注释
/**
*  javadoc注释
*  javadoc注释
*/

// public 的 class只能有一个,类名跟文件名要一致
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}
// 类中必须要有主方法
class A {
    public static void main(String[] args) {
        System.out.println("AAAA!");
    }
}
  • javac -encoding utf-8 .\HelloWorld.java (编译的是文件)
  • 生成 HelloWorld.class 文件
  • java HelloWorld(运行 HelloWorld 这个类名)

javac *.java(编译所有java文件)
dos命令:del *.class(删除所有class文件)
del *.jpg 等等


1 byte = 8 bit; 1 bit表示一个二进制位; 最大值:01111111
二进制:1010 = 十进制:1*2三次方 + 0*2平方 + 1*2一次方 + 0*2零次方
             = 8 + 0 + 2 + 0 = 10
八进制以0开头:0272 = 十进制:2*8平方 + 7*8一次方 + 2*8零次方
            = 128 + 56 + 2 = 186
十六进制以0x开头:0x10 = 十进制:16

*  标识符:类名、方法名、变量名、接口名、常量名......
*  关键字
*  字面值:整数型999、浮点型3.14159、字符型'A'、字符串型"AAAAA"、布尔型false

引用数据类型:new对象、String对象

基本数据类型:
*  byteshortint 字节:124 (1 byte = 8 bit)
*  long 字节:8long类型字面值加L表示,88888L*  float单精度:4float类型字面值加f表示)
*  double双精度:8(默认类型)(浮点型都比整数型容量大)
*  char 2
*  boolean 1

*  自动类型转换:小转大;强制类型转换:大转小(float)5.1
*  byte < short < int < long < float < double
*         char < 
*  整数字面值 小于 byteshortchar 时可以直接赋值,三个混合运算时会自动转换为 int 再做运算
*  多类型混合运算,会转换为容量最大的类型运算

*  ++运算符:x ++(先赋值后++(先执行语句后自加))、++ x(先++后赋值(先自加后执行语句))

*  &逻辑与:两边 true = true
*  |逻辑或:一边 true = true
*  !逻辑非:取反 !false = true 单目运算符
*  ^逻辑异或:两边不一样 = true
*  &&短路与:左边 false,右边直接不执行
*  ||短路或:左边 true,右边直接不执行
*  ?: 三目运算符:true 左,false*  +=运算符:int x = 20;long y = 10L; x += y;(相当于 x = (int)(x + y) 赋值运算符不改变运算结果类型)

*  A:for(for循环起名为A) break A;(终止A的循环) continue A;(跳到A的循环)
*  switch(int / String)
*  return:终止函数执行

*  奇数:x % 2 == 1;
*  偶数:x % 2 == 0;
*  质数:能够被1和自身整除(自身 % 其它数 == 0 非质数)

*  转义字符:\n换行、\t制表符、\'单引号、\\反斜杠、\"双引号、\u6211我

变量

  • 成员变量:类里面定义的,在构造方法执行时,没有赋值会自动赋默认值,包括以下
    – 实例变量:没有static
    – 静态变量:有static,具有共同特征的一般加上static,存放在方法区内存,减轻堆内存消耗
  • 局部变量:类里面的方法定义的,不会自动赋值
  • 变量作用域:类作用域、函数作用域(离开大括号就不认识了)

普通方法

  • 有static:类名.方法名使用
  • 无static实例方法:引用类型变量名.方法名使用

构造方法

  • 要跟类名相同,并且没有void这些关键字,使用new User()创建,返回类型是 User本身

参数传递

  • 基本类型变量:传递字面值
  • 引用类型变量:传递的是堆内存地址

方法区内存、栈内存、堆内存

  • 方法只定义,不调用,就不会分配内存空间
  • 方法区内存 在类加载的时候 存放 class、方法的代码片段,存放静态变量
  • 调用方法的时候会在栈中分配内存,在栈中进行压栈,方法执行结束后会释放内存,进行弹栈
  • 最后调用的方法在栈顶,main在栈低
  • 局部变量会在栈中分配内存
  • new 的实例对象(实例变量)在堆内存中,二次new一个对象会将前一个垃圾回收,如果设为 null 会出现空指针错误
  • 堆的对象给栈的变量一个地址,让栈的变量可以访问堆的对象
  • 最先有数据:方法区内存;变化频繁:栈内存;垃圾回收针对:堆内存;

this

  • this 在对象中,是一个引用,保存对象 堆内存地址,我指我自己
  • 比如:局部变量 new 一个新对象的时候,this 就指向那个局部变量(也就是一个对象)
  • this 不能用在static方法中

static静态代码块

  • static { }:可以有多个,上往下执行,只执行一次
  • 在类加载时执行,完成预备工作,完成数据的准备,初始化连接池,解析XML等等

代码块

  • { }:不实用
  • 在构造方法前执行

final修饰符,不可变的,常量

  • 类不能被继承、方法不能被重写
  • 变量不可二次赋值(实例变量必须手动赋值)

访问控制权限修饰符

  • public:公开的,在任何位置都可以访问
  • protect:同一个包可以访问,不同包中通过继承在子类中也可以访问
  • 缺省:不写修饰符,同一个包可以访问
  • private:私有的,在本类可以访问
  • 类只能用public和缺省写法(内部类除外,类中类)

方法重载

  • 发生在同一个类中
void rep(); void rep(int a);这是重载
int rep();这是重复方法了
修饰符 static 可不同,返回值类型 void 要相同,方法名 rep 要相同,参数 int a (数量、类型、顺序)要不同

方法重写(不用看

  • 发生在继承的类中,当父类的方法不满足时,在子类重写
  • 返回值类型 void 要相同,方法名 rep 要相同,参数也要相同
  • 修饰符访问权限:低private(父) <= 高public(子)
  • 方法重写最好复制粘贴父类

方法递归调用:一定条件下,我用我自己,直到满足条件return,不然会内存溢出

类的继承 extends

  • 私有的不继承,构造方法不继承,其他数据都可以继承
  • 所有类默认继承 Object
  • 在写方法时,跟父类方法重名,优先使用本类方法,本类没写的话可以使用父类方法

多态:父类型引用子类型对象(面向抽象编程)

向上转型:左边类型 父 Animal a = 右边类型 子 new Dog()
-- a变量只能使用Animal类型的方法,Dog里自己的方法a不能使用,如果Dog里有方法跟Animal发生重写,a会执行Dog的方法

向下转型:父类型转向子类型
判断 a instanceof Dog {Dog d = (Dog)a}()

包名

package com.dalao.me;
javac -encoding utf-8 -d ./ ./HelloWorld.java(-d 编译 HelloWorld./ 当前文件夹下创建 com.dalao.me 文件夹存放class文件)
java com.dalao.me.A

import com.dalao.me.*;* 指类名)
导入 com.dalao.me 文件夹里面的 class 类,就可以直接 new class 对象

MyEclipse

  • .metedata文件夹:保存工作状态,删除只是项目丢失,还在硬盘
  • 切换java se / java ee :在右上角
  • 窗口视图恢复:window > show view > Other > 搜索名字
    重置窗口:window > reset perspective
  • Package Explore / Navigator / Project Explore:java源文件
  • Console:控制台
  • JRE:类库
  • java右键:Run As > 执行java代码;Source > 自动get、set;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值