java学习笔记--基础知识

一、基本概念
1)JDK(Java Development Kits)java开发工具
2)JRE(Java Runtime Environment)java运行时环境,用户只需JRE
3)JVM(Java Virtual Machine)java虚拟机
2、两种核心机制
java虚拟机:编译成的.class文件可以在各种平台上运行,windows, linux等,屏蔽了底层运行平台差别;

在这里插入图片描述
>可以在终端上用命令执行.java文件:javac helloWord.java
>可以在终端上用命令执行.class文件:java helloWord
垃圾收集机制(Garbage collection):java程序自动回收,c++需要程序员负责回收;
3、源文件格式
1)java源文件以.java为扩展名,源文件的基本组成部分就是类class;
2)一个源文件最多只能有一个public类,其它类的个数不限,如果源文件包含一个public类,它必须按该类命名,一个java源文件就是一个类;
3)程序入口main()方法,基本结构 Helloword,类名和文件名保持一致

public class Helloword{
    public static void main(String[] args){
        System.out.println(“hello, word”);
    }
}

输出语句:System.out.println("你好”);System.print("你好”);(System.out.println(),会换行输出)
4)严格区分大小写,每个语句以分号结束;

二 基础语法
1、常量
1)字符串常量,用双引号引用
2)字符,只有1个字符组成,用单引号 :System.out.println(’女’ );
3)整数:System.out.println(100);
4)小数:System.out.println(1.3);
5)boolean布尔类型 :System.out.println(true);
java语言整型常量的三种表示形式:
》十进制整数
》八进制整数,要求以0开头,如:012
》十六进制整数,要求0X或0x开头,如:0x12

2、变量
1)在内存中开辟空间用来保存数据的单元,值是可以发生改变的。必须先声明,才能赋值。
2)定义变量的语法:
数据类型 变量名=值;//赋值
整数 int: Int number = 100;
修改变量的值:number =20;
3)使用变量注意:
》变量的值和数据类型要一致;
》变量名不允许重复
》可以一次定义多个相同类型变量
》变量一定要声明才能使用,没有赋值的变量不能输出
3、不同类型占用不同的存储空间
1)整数类型:byte(8位),short(2个字节),int(4个字节),long(8个字节)。注意:long必须加L否则会报错:12345L。
2) 浮点类型:float(4个字节),double(8个字节)。注意:float必须加f否则会报错:12.3f。
Java采用Unicode编码(Unicode是全球语言统一编码),每个字符占两个字节,因而可用十六进制编码形式表示:
char c1=‘\u0061’; //表示十六进制的Unicode编码。
在这里插入图片描述
4、程序存被分成4种类型存放在内存中:heap,stack,data segment,code segment。返回值,形参也是放在stack内,属于局部变量,局部变量在方法执行完成(即new 对象结束)之后,所存放在stack中的内存马上被收回。heap是被垃圾回收机制定期回收。
1)按被声明的位置划分:
局部变量:方法或语句内部声明的变量
成员变量:方法外部、类的内部声明的变量
注意:类外面(与类对应的大括号外面)不能有变量的声明

public class Helloword{
    Int m=1;  //m是成员变量
    public static void main(String[] args){
        System.out.println(“hello, word”);
        Int n=2;  //n是局部变量
    }
}

二、面向对象
1、成员变量和方法(函数)
在定义成员变量时可以对其初始化,如果不对其初始化,Java使用默认的值对其初始化。定义的变量必须要初始化。
Java语言中除了基本类型之外的变量类型都称之为引用类型。
//声明了一个string类型的引用变量,但并没有使它指向一个对象。
Srting S;
//使用new语句创建了一个String类型的对象并用s指向它,以后可以通过s完成对其的操作
s=new String(“Hello word!”);
2、如何在内存中区分类和对象:
》类是静态的概念,位于代码区
》对象是new出来的,位于堆内存,类的每个成员变量在不同的对象中都有不同的值(除了静态变量),而方法只有一份,执行的时候才占用内存。
3、构造函数是定义在java类中的一个用来初始化对象的函数。构造函数与类同名且没有返回值。
4、约定俗称的规则:
》类名的首字母大写
》变量名和方法名的首字母小写
》运用驼峰标识

5、面向对象的关键点
》方法的重载:
是指一个类中可以定义有相同的名字,但参数不同的多个方法。调用时,会根据不同的参数表选择对应的方法。
》this关键字
。在类的方法定义中使用的this关键字代表使用该方法的对象的引用;
。this可以看作是一个变量,它的值是当前对象的应用;
。必须指出当前使用方法的对象是谁时要使用this
》static关键字
。在类中,用static声明的成员变量为静态成员变量,它为该类的公用变量,在第一次使用时被初始化,杜宇该类的所有对象来说,static成员变量只有一份,是放在data segment的内存处。
。用static声明的方法为静态方法,在调用该方法时,不会将对象的引用传递给它,所以在static方法中不可访问非static的成员(静态方法不再是针对于某个对象调用,所以不能访问非静态成员)
。可以通过对应引用或类名(不需要实例化)访问静态成员。
》package 和import语句
。java引入包(package)机制,提供类的多重类命名空间。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值