Java语言基础

Java变量——

数据类型默认值存储格式数据范围
short 0 2个字节 -32,768到32767
int 0 4个字节 -2,147,483,648到2,147,483,647
byte 0 1个字节 -128到127
char 2个字节 Unicode的字符范围:’\u0000’(即为0)到’\uffff’(即为65,535)
long 0L或0l 8个字节 -9,223,372,036,854,775,808到9,223,372,036, 854,775,807
float 0.0F或0.0f 4个字节 32位IEEEE 754单精度范围
double 0.0或0.0D(d) 8个字节 64位IEEE 754双精度范围
boolean false 1位 true(1)或false(0)

    在 Java 中,变量需要先声明(declare)才能使用。

局部变量——必须初始化

  • 局部变量声明在方法、构造方法或者语句块中;
  • 局部变量在方法、构造方法、或者语句块被执行的时候创建,当它们执行完成后,变量将会被销毁;
  • 访问修饰符不能用于局部变量;
  • 局部变量只在声明它的方法、构造方法或者语句块中可见;
  • 局部变量是在栈上分配的。
  • 局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用。

实例变量(实例化-new)

  • 实例变量声明在一个类中,但在方法、构造方法和语句块之外;
  • 当一个对象被实例化之后,每个实例变量的值就跟着确定;
  • 实例变量在对象创建的时候创建,在对象被销毁的时候销毁;
  • 实例变量的值应该至少被一个方法、构造方法或者语句块引用,使得外部能够通过这些方式获取实例变量信息;
  • 实例变量可以声明在使用前或者使用后;
  • 访问修饰符可以修饰实例变量;
  • 实例变量对于类中的方法、构造方法或者语句块是可见的。一般情况下应该把实例变量设为私有。通过使用访问修饰符可以使实例变量对子类可见;
  • 实例变量具有默认值。数值型变量的默认值是0,布尔型变量的默认值是false,引用类型变量的默认值是null。变量的值可以在声明时指定,也可以在构造方法中指定;
  • 实例变量可以直接通过变量名访问。但在静态方法以及其他类中,就应该使用完全限定名:ObejectReference.VariableName。

类变量(静态变量)

  • 类变量也称为静态变量,在类中以static关键字声明,但必须在方法、构造方法和语句块之外。
  • 无论一个类创建了多少个对象,类只拥有类变量的一份拷贝。
  • 静态变量除了被声明为常量外很少使用。常量是指声明为public/private,final和static类型的变量。常量初始化后不可改变。
  • 静态变量储存在静态存储区。经常被声明为常量,很少单独使用static声明变量。
  • 静态变量在程序开始时创建,在程序结束时销毁。
  • 与实例变量具有相似的可见性。但为了对类的使用者可见,大多数静态变量声明为public类型。
  • 默认值和实例变量相似。数值型变量默认值是0,布尔型默认值是false,引用类型默认值是null。变量的值可以在声明的时候指定,也可以在构造方法中指定。此外,静态变量还可以在静态语句块中初始化。
  • 静态变量可以通过:ClassName.VariableName的方式访问。
  • 类变量被声明为public static final类型时,类变量名称必须使用大写字母。如果静态变量不是public和final类型,其命名方式与实例变量以及局部变量的命名方式一致。

Java常量——

    常量代表程序运行过程中不能改变的值。在Java编码规范中,要求常量名必须大写。

常量的语法格式如下:

  • final 数据类型 常量名称 = 值;

  • final 数据类型 常量名称1 = 值1, 常量名称2 = 值2,……常量名称n = 值n;

例如:

final double PI = 3.14final char MALE=‘M’,FEMALE=‘F’;

 

Java注释——

    一般在 Java 里有三种注释:

  • 行注释//:只注释一行

  • 段注释/*...*/:注释若干行

  • 文档注释/**...*/:注释若干行,并写入 javadoc文档

 

Java自动类型转换和强制类型转换——

    在Java程序中,不同的数据类型有些时候需要进行相互转换。数据类型转换就分为了自动类型转换强制类型转换:自动类型转换是在程序执行过程中,不需要我们去特殊声明或者操作,变量由于需要而自动转换成了合适的数据类型。

    自动类型转换需要满足下面的两个条件:

  • 目标类型与原类型兼容

  • 目标类型的字节数大于或等于原类型字节数

基本数据类型中,布尔类型boolean占有一个字节,由于其本身所代表的特殊含义,boolean类型与其他基本类型不能进行类型的转换(既不能进行自动类型的提升,也不能强制类型转换), 否则,将编译出错。

 

Java位运算符——【a=60;b=13】

 

位运算符名称描述举例
& 按位与 如果相对应位都是1,则结果为1,否则为0 (a&b),得到12,即0000 1100
按位或 如果相对应位都是0,则结果为0,否则为1 (a丨b)得到61,即 0011 1101
^ 按位异或 如果相对应位值相同,则结果为0,否则为1 (a^b)得到49,即 0011 0001
~ 按位补 翻转操作数的每一位,即0变成1,1变成0 (〜a)得到-61,即1100 0011
<< 按位左移 左操作数按位左移右操作数指定的位数 a<<2得到240,即 1111 0000
>> 按位右移 左操作数按位右移右操作数指定的位数 a>>2得到15即 1111
>>> 按位右移补零 左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充 a>>>2得到15即0000 1111


Java逻辑运算符——【布尔变量a为真,变量b为假】

逻辑运算符名称描述类型举例
&& 当且仅当两个操作数都为真,条件才为真 双目运算符 (a && b)为假
|| 两个操作数任何一个为真,条件为真 双目运算符 (a || b)为真
用来反转操作数的逻辑状态。如果条件为真,则逻辑非运算符将得到假 单目运算符 (!a)为假
^ 异或 如果两个操作数逻辑相同,则结果为假,否则为真 双目运算符 (a ^ b)为真

 

Java引用——

    引用:Java 中一切都是对象,但操作的标识符实际是对象的一个引用。

        例:

String s;

    在这里,创建的是引用,不是对象。创建引用后,一种安全的做法是对其进行初始化。

String s = "abc";
String s =  new String("abc");

    通常采用new操作符生成一个新对象,然后将引用与该对象相关联。

    想要比较对象的内容是否相同时,Java 提供了一个特殊的方法equals(),它不适用于基本类型,基本类型使用==和!=进行比较。

 

Java条件运算符——

    条件运算符?:便是唯一的一个三目运算符了。

    语法形式:布尔表达式?表达式1 : 表达式2

    运算过程:如果布尔表达式的值为true ,则返回 表达式1 的值,否则返回 表达式2 的值。

 

Java条件控制语句——【if;if...else if...else;switch...case...break...default】

                      if 语句 

if(条件){
条件成立时执行的代码
}

                      if...else 语句当条件成立时,则执行 if 部分的代码块; 条件不成立时,则进入 else 部分。

if(条件){
    代码块1
}
else{
    代码块2
}

                      多重 if 语句,在条件 1 不满足的情况下,才会进行条件 2 的判断,以此向下;当前面的条件均不成立时,最终执行 else 块内的代码。

if(条件1){
    代码块1
}
else if(条件2){
    代码块2
}
...
else {
    代码块n
}

                      if 语句是可以在内层进行嵌套的。嵌套 if 语句,只有当外层 if 的条件成立时,才会判断内层 if 的条件。

if(条件1){
    if(条件2){
        代码块1
    }
    else{
        代码块2
    }
}
else{
    代码块3
}

                      switch语句——当 switch 后表达式的值和 case 语句后的值相同时,从该位置开始向下执行,直到遇到 break 语句或者 switch 语句块结束;如果没有匹配的 case 语句则执行 default 块的代码。

switch(表达式){
    case 值1:
        代码块1
        break;
    case 值2:
        代码块2
        break;
    ...
    default:
        默认执行的代码块
}

Java循环控制语句——【while;do...while;for】

                      while语句——while 的执行过程是先判断,再执行。

                                          1. 判断 while 后面的条件是否成立( true or false )

                                          2. 当条件成立时,执行循环内的代码,然后重复执行1.、2., 直到循环条件不成立为止

while(条件){
    代码块
}

                      do...while语句——执行过程是先执行,再判断(所以循环内的代码至少会执行一次)。

                                          1. 先执行一遍循环操作,然后判断循环条件是否成立

                                          2. 如果条件成立,继续执行1.、2.,直到循环条件不成立为止

do{
代码块
}while(条件);

                      for语句 ——相比 while 和 do-while 语句结构更加简洁易读,它的执行顺序:

                                1.执行循环变量初始化部分,设置循环的初始状态,此部分在整个循环中只执行一次

                                2. 进行循环条件的判断,如果条件为 true,则执行循环体内代码;如果为 false ,则直接退出循环

                                3.执行循环变量变化部分,改变循环变量的值,以便进行下一次条件判断

                                4.依次重新执行2.、3.、4.,直到退出循环

for(循环变量初始化; 循环条件; 循环变量变化){
循环操作
} 

 

Java跳转语句——【break;continue】

             break语句——跳出,经常用在条件和循环语句中,用来跳出循环语句的。

             continue语句——作用是跳过循环体中剩余的语句执行下一次循环。

 

posted @ 2018-05-02 15:57  回冬  阅读(136)  评论(0编辑  收藏  举报