JAVA基础语法1


开发环境:IDEA2020,JDK1.8


一、JDK及环境

JDK:JAVA 的开发者工具
JRE:JAVA运行环境
JVM:JAVA虚拟机

JDK包含JRE,JRE包含JVM,程序在JVM虚拟环境中运行
.java源代码程序,通过JDK自带的javac命令编译,生成.class字节码文件(为二进制文件),最后用JDK自带的java命令,在JVM虚拟机上运行。

.java程序中的一个类对应一个.class字节码,在运行过程中,使用哪个类,便调用哪个类。

一个简单的JAVA程序:

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World!"); 
        // Hello World!
    }
}

public为访问限定修饰符。class用来定义一个 类,HelloWorld为类的名称。String[ ] args指的是给函数传递的参数,常命名为args。

二、变量

1.整形变量int:4个字节,范围为-231 ~ 231-1,和C语言一样,int除以int类型的值仍然为int类型
2.长整型变量long:8个字节,范围为-263 ~ 263-1
3.单精度浮点类型float:4个字节,与C语言不同,在JAVA中默认一个小数为double类型,因此在初始化的时,需要进行标明,float x =1.2f,表示当前类型为float类型
4.双精度浮点类型double:8个字节,JAVA的double类型数据遵守IEEE 754标准(与C相同),在有限空间内表示小数时会存在误差
5.字符类型char:2个字节(C语言中char为1个字节)
6.字节类型byte:1个字节
7.短整型short:2个字节
8.布尔类型变量boolean:JVM没有规定布尔类型的大小,在JAVA当中,boolean只有两个取值true和false(与C语言不同,不是0表示假,1表示真)
9.字符串类型String:属于引用类型,其他数据类型和字符串用加号在后面拼接,结果就是一个字符串。

JAVA中没有无符号类型,都是有符号类型的。在进行变量定义的时候,需要进行初始化(针对局部变量),否则会进行报错。JAVA中没有long long超长整数类型。在JAVA中,数据类型都是有取值范围的,在存储数据时,不要超过范围。

三,常量

在程序的运行过程中,不能进行修改;
在程序编译的时候,就已经确定常量的值。(变量在运行时确定)
用final修饰,只能初始化一次

public class Test {
    public static void main(String[] args) {
    	final int X = 100;
    	//X=1;报错
    }
}

四、类型转换

JAVA是一个强类型语言,可以将范围小的赋值给范围大的,反之不行,需要进行强制类型转换。

1.boolean类型和int类型不能相互转换
2.两个boolean类型相加赋值给一个boolean类型时会报错,需要进行强制类型转换,因为在对于CPU来说,小于四个字节的运算,会提升为int类型,结果赋值时报错。

public class Test {
    public static void main(String[] args) {
        byte a=1;
        byte b=2;
        byte c=(byte) (a+b);

		byte d=1+2;//相当于d=3常量不报错
    }
}

3.类型提升,两个变量进行运算的时候,会将较小类型的提升为较大类型的

public class Test {
    public static void main(String[] args) {
        int a=10;
        long b=10;
        int c=(int)(a+b);//a+b提升为long类型
    }
}

4.int和String类型的转换,用到函数valueOf,返回int的字符串形式

public class Test {
    public static void main(String[] args) {
        int a=10;
        String b=String.valueOf(a);
        System.out.println(b);//输出10
    }
}

五、运算符

算数运算符

1.int/int 仍为 int
2.0不能作为除数
3.复合运算符,包括+=、-=、*=、/=、%=,在运算过程中会自动进行强制类型转换

public class Test {
    public static void main(String[] args) {
        short a=10;
        //a=a+9;报错,a+9转化成int类型
        a=(short)(a+9);
        a+=9;//自动进行强制类型转换
    }
}

4.自增自减运算符,++、-- 与C语言相同

关系运算符

==、!=、>、<、<=、>=
关系运算符的表达式返回结果都是boolean类型

逻辑运算符

&& [表达式1 && 表达式2],其中两个表达式全部为布尔表达式,如果1为假,则不执行2
|| [表达式1 || 表达式2],其中两个表达式全部为布尔表达式,如果1为真,则不执行2
!!false=true

位运算符

&:全为1为1
|:有1为1
^:相同为0,不同为1
~:0变1,1变0
<<:左移,右侧补0,左移一位,相当于原数*2
>>:右移,左侧补符号位,右移一位,相当于原数/2
>>>:无符号右移,不管符号位,左边统一补0

条件运算符

表达式1?表达式2:表达式3
三目运算符,表达式1是布尔类型

六、注释

单行注释://注释内容
多行注释:/注释内容/
文档注释:/*注释内容/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值