二、Java学习之语言基础(1)

Java语言基础

PS: 学习语言基础很重要。。。。

基础语言要素

1. 标识符
名词解释:给类,变量,方法起的名字。
要求:
1) 标识符由字母、数字、下划线“_”、美元符号“$”或者人民币符号“¥”组成,并且首字母不能是数字。
2) 不能把关键字和保留字作为标识符。
3) 标识符没有长度限制。
4) 标识符对大小写敏感。

2. 关键字
名词解释:其实就是某种语言赋予了特殊含义的单词

二、Java学习之语言基础(1)_第1张图片

注意:
1)true、false、null 不是关键字。
2)main 不是关键字!是一个被JVM识别的特殊单词。

3. 注释
名词解释:注解说明程序、调试程序。
注意:(XXX为注释内容,注释到行尾)
1)单行注释://XXX
2)多行注释:/* XXX */
3)文档注释:/*XXX /

开发中类前、属性前、,必须有文档注释。

八种基本数据类型

*八种基本数据类型:byte、short、int、long、float、double、char、boolean

  1. 四种整数类型
整数类型 取值范围 取值范围 占用字节 位数
byte -128~127 -2的7次方到2的7次方-1 1个字节 8bit
short -32768~32767 -2的15次方到2的15次方-1 2个字节 16bit
int -2147483648~2147483647 -2的31次方到2的31次方-1 4个字节 32bit
long -9223372036854774808~9223372036854774807 -2的63次方到2的63次方-1 8个字节 64bit

注意:
1)整数字面默认为int类型,定义long数据后面加L或l。

  1. 两种浮点数类型
    有2种浮点型,单精度浮点型(float)及双精度(double)浮点型。
浮点数类型 取值范围 取值范围 占用字节 位数
float 3.402823e+38 ~ 1.401298e-45 e+38表示是乘以10的38次方,同样,e-45表示乘以10的负45次方 4个字节 32bit
double 1.797693e+308~ 4.9000000e-324 e+308表示是乘以10的308次方,同样,e-308表示乘以10的负308次方 8个字节 64bit

注意:
1)定义float数据后面加F或f。
2)定义double数据后面加D或d。
3)double类型为默认浮点数类型,可以不写后缀,但是小数计算一定要写D/d 或 X.X 。

  1. 一种字符类型
整数类型 取值范围 取值范围 占用字节 位数
char -128~127 -2的7次方到2的7次方-1 2个字节 16bit

字节 |

注意:
1 )不能为0个字符。
2)如转义字符:\n 换行 \r 回车 \ 表示\ 。

  1. 一种布尔类型
    true是真和false是假
整数类型 取值范围 占用字节 位数
boolean true和false 1个字节 1bit

5.类型转换
1)自动转换:btye —> short —> int —> long —> float —> double
2)强制转换:会损失精度,产生误差,小数点后都要舍弃。
容易超出取值范围。

int a;
byte b;
// ...
b = (byte) a;

常量与变量

  1. 变量
    定义:相信对于它的定义应该不用在说了,大家应该已经熟悉又熟悉了。 例如:
    a,a1,name等都是合法的变量。
    说明:
    1)Java要求在使用一个变量之前要对变量的类型加以声明。
    2)Java中一个变量的声明就是一条完整的Java语句,所以应该在结尾使用分号。
    3)可在一条语句中进行多个变量的声明,不同变量之间用逗号分隔。

变量的赋值和初始化: 变量的值可以通过两种方法获得,一种是赋值,给一个变量赋值需要使用赋值语句。另外一种方法就是初始化,说是初始化,其实还是一个赋值语句,只不过这个赋值语句是在声明变量的时候就一起完成的。

int a =10; //这就是一个变量初始化的过程 
int a;  
a =10; //在赋值语句的结尾应该是用分号来结束。
  1. 常量
    定义:值不变的量称为常量。
    例如: 1,“hello”
    说明:
    1)在Java中使用final关键字来定义一个常数。
    2)习惯上将常量的名字统统大写。
int final a=10; //声明了一个整型常量a,它的值是10。 
String final DRIVER="com.jdbc.mysql.Driver";

运算符与表达式

1. 运算符

赋值运算符号

二、Java学习之语言基础(1)_第2张图片

一元运算符

二、Java学习之语言基础(1)_第3张图片

算术运算符

二、Java学习之语言基础(1)_第4张图片

关系运算符

二、Java学习之语言基础(1)_第5张图片

递增与递减运算符

这里写图片描述

public class T {
    public static void main(String[] args) {
        int a = 3 , b = 3 ; // 定义两个变量a和b
        int x = 6, y = 6 ;  // 定义两个变量x和y
        System.out.println("a = " + a) ;
        System.out.println("\t a++ = " + (a++) + " , a = " + a) ;   // 先计算后自增
        System.out.println("b = " + b) ;
        System.out.println("\t ++b = " + (++b) + " , b = " + b) ;   // 先自增后计算
        System.out.println("x = " + x) ;
        System.out.println("\t x-- = " + (x--) + " , x = " + x) ;   // 先计算后自减
        System.out.println("y = " + y) ;
        System.out.println("\t --y = " + (--y) + " , y = " + y) ;   // 先自减后计算

    }
}

运算结果
a = 3
a++ = 3 , a = 4
b = 3
++b = 4 , b = 4
x = 6
x– = 6 , x = 5
y = 6
–y = 5 , y = 5

逻辑运算符

二、Java学习之语言基础(1)_第6张图片

不管是短路还是非短路,其基本的操作结果都是一样的。

二、Java学习之语言基础(1)_第7张图片

现有如下的错误代码:

public class T {
    public static void main(String[] args) {
        int i = 10/0;
        System.out.println(i);
    }
}

以上的代码只要一运行就会出现问题。

public class T {
    public static void main(String[] args) {
        if(10!=10&10/0==0){
            System.out.println("条件满足");
        }
    }
}

短路

public class T {
    public static void main(String[] args) {
        if(10!=10&&10/0==0){
            System.out.println("条件满足");
        }
    }
}

只要第一个条件满足,之后的程序代码都不在执行了。

位运算符

二、Java学习之语言基础(1)_第8张图片

位运算符的结果表

二、Java学习之语言基础(1)_第9张图片

public class T {
    public static void main(String[] args) {
        int x = 3 ;     // 3的二进制数据: 00000000 00000000 00000000 00000011
        int y = 6 ;     // 6的二进制数据: 00000000 00000000 00000000 00000110
        System.out.println(x & y) ; //与: 00000000 00000000 00000000 00000010
        System.out.println(x | y) ; //或: 00000000 00000000 00000000 00000111
        System.out.println(x ^ y) ; //或: 00000000 00000000 00000000 00000101
    }
}

三目运算符

形式为:
结果变量=表达式?值1:值2;

if(a<b)
    min=a;
else
    min=b;
//可以用下面的条件运算符来处理
//min=(a<b)?a:b;

其中
1)表达式 为逻辑表达式 判断其为真或假。
2)值1 与 值2 为 可能的值 不能为表达式,也即 值1,值2 不能为 a=1这样的表达式。
3)三目运算符进行运算后 返回的是一个值 必须用变量进行保存或print(?:)直接打印 或return返回结果值。

运算符优先级

二、Java学习之语言基础(1)_第10张图片

2. 表达式

表达式是由变量、操作符或是方法调用所组成的一个运算序列,并且返回一个值。

表达式类型的转换

当Java发现程序中表达试中有类型不相符的情况时,会依据下列的规则来处理类型的转换。
1.占用字节较少的类型转换成占用字节较多的类型。
2。字符类型会转换成int类型。
3.int 类型会转换成float类型。
4.表达式中若某个操作数的类型为double,则另一个操作数字也会转换成double类型。
5.布尔类型不能转换成其它类型。

public class TypeChangeDemo{  
    public static void main(String args[]){  
        char ch = 'a';  
        short a = -2;  
        int b = 3;  
        float f = 5.3f;  
        double d = 6.28;  
        System.out.println("(ch / a) - (d / f) - (a + b) = ");  
        System.out.println((ch / a) - (d / f) - (a + b) );    
    }  
}  

你可能感兴趣的:(java,Class,语言)