Java笔记(一)基础、流程控制、数组、面向对象基础

堆(Heap) :此内存区域的唯一目的就是存放对象实例,几乎所有的对象实例都在这里分配内存。这一点在Java虚拟机规范中的描述是:所有的对象实例以及数组都要在堆上分配。
栈(Stack) :是指虚拟机栈。虚拟机栈用于存储局部变量等。局部变量表存放了编译期可知长度的各种基本数据类型(boolean、byte、char、short、int、float、long、double)、对象引用(reference类型,它不等同于对象本身,是对象在堆内存的首地址)。 方法执行完,自动释放。
方法区(Method Area) :用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。

基础

public class test {
    public static void main(String[] args){
        System.out.println("hello world");
    }
}

 关键字

【基础篇】Java关键字(超详细)-CSDN博客

package

java中文件的大小分配:project--> module --> package -->class

这个关键字放置在class的顶部,用于声明这个class属于哪个package

package 顶层包名.子包名 ;

JDK中主要的包介绍:
java.lang ----包含一些Java语言的核心类,如String、Math、Integer、 System和Thread,提供常用功能
java.net ----包含执行与网络相关的操作的类和接口。

java.io ----包含能提供多种输入/输出功能的类。

java.util ----包含一些实用工具类,如定义系统特性、接口的集合框架类、使用与日期日历相关的函数。

java.text ----包含了一些java格式化相关的类

java.sql ----包含了java进行JDBC数据库编程的相关类/接口

java.awt ----包含了构成抽象窗口工具集(abstract window toolkits)的多个类,这些类被用来构建和管理应用程序的图形用户界面(GUI)。

import(导入)
为了使用定义在其它包中的Java类,需用import语句来显式引入指定包下所需要的类

  •  import语句,声明在包的声明和类的声明之间。
  • 如果需要导入多个类或接口,那么就并列显式多个import语句即可
  • 如果使用a.* 导入结构,表示可以导入a包下的所有的结构。举例:可以使用java.util.*的方式,一次性导入util包下所有的类或接口。
  • 如果导入的类或接口是java.lang包下的,或者是当前包下的,则可以省略此import语句。
  • 如果已经导入java.a包下的类,那么如果需要使用a包的子包下的类的话,仍然需要导入。
  • 如果在代码中使用不同包下的同名的类,那么就需要使用类的全类名的方式指明调用的是哪个类。
  • (了解) import static 组合的使用:调用指定类或接口下的静态的属性或方法

数据类型

数据类型 变量名=值

数据类型:

声明long时需要在最后加L或l,float要加f或F

long a=100000L
float b = 0.2f

 类型转换--自动类型提升(小->大)

1、byte->short->int->long->float->double,按照表示数字的范围排序,小的可以转换为大的。例如 下面这种是合理的,但是反过来不行

byte a = 2; int c ;c = a //ok
byte a ; int c=2 ;a = c //no

2、在运算中,会符合运输数中最 大 的那个数据类型:

double a=7;int b=3;int c = a+b; //no
long a=7;int b=3;double c = a+b; //ok

3、byte,short,char做运算,结果都为int(从char到int会转换为字符的ascll码)

byte a=1;short b=3; short c=a+b//no,a+b的结果已经转换为了int

4、下面这个,123是int类型,转换为了long,所以不写123L也不会报错

long a = 123

5、未定义的数字,整数默认为int,小数默认为double

 类型转换--强制转换(大->小)

        int a = (int) 123.22;
        System.out.println(a); //123

字符串

        String a = "i love you";
        int b =3;
        short c = 4;
        boolean d = false;
        String e = c+b+a+d;

        System.out.println(a); //i love you
        System.out.println(a+b); //i love you3
        System.out.println(e); //7i love youfalse

强转数据类型不可行

        String a = "10";
        int b =(int) a;//no

运算符

++ ,--不改变数据的类型

        short a = 1;short b=++a;//合理,不等价于 short a = 1;short b=a+1(无法运行);

 同理,赋值运算符也不改变数据的类型

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值