java基础(二)

来源:互联网 发布:思迅软件好不好 编辑:程序博客网 时间:2024/05/17 01:35
java基础(二)

          /class所定义的类名可以与所属文件名不同
class
          /public class
所定义的类名必须与所属文件名相同
主方法(public static void main(){})可以定义在class类中也可以是定义在public class类中。包含static main()方法的类称为外売类,外壳类不对对象操作。
通常在定义类名时,首字母大写。

 

变量和常量

变量:在java中,不区分声明和定义。在定义一个非引用数据类型的变量时,就为它分配了内存空间,在使用变量之前要为它赋值。

常量:用final来声明一个常量。常量在第一次赋值后就不可以再赋值。
          static final
声明一个类常量,这种类常量可以在同一个类的多个方法中使用
          public static final
声明一个可以在多个类中使用的类常量。

 

数据类型:

基本数据类型(8)和引用数据类型(3)

基本数据类型包括:
         
整型:    long  ( 64 bits )
                    int   (32 bits )
                    short ( 16 bits )
                    byte  (8 bits) (-128~127)
          
浮点型:  float  (32 bits)
                    double(64 bits)
                  (
如果是float类型的变量,会在变量后加F,否则,默认为Double类型)
          
布尔类型:boolean (1 bit) (false,true),默认值为false.(注意boolean类型与Boolean类型是不同的。)
          
字符类型:char  (16 bits) (0~65535)

引用数据类型:(在定义这些类型的变量时,不为之分配内存空间)

     class
     Interface
     array

StringString类型属于系统数据类型。任何数据类型遇到String类型后转换为String类型。如:
 public static void main(String[] args) {
    int a=1;
    int b=2;
    System.out.println("a+b="+a+b); //a+b=12,
这里把ab都转换成字符串来使用了
    System.out.println("a+b="+(a+b));//a+b=3,
这里先把(a+b)进行计算,再把结果当成一个字符串使用
 }

类型转换:
     强制类型转换和自动类型转换
     类型转换只影响当前行操作,并不改变原定义类型。

 

运算符:

   赋值运算符
 算术运算符(+-*/%)
 逻辑运算符
 关系运算符
 位运算符
 一元运算符(+()-()(not或否)
 自增自减运算符(++--)
 括号运算符( () )
 三元运算符( ?: )

算术运算符中,整除运算符/进行运算,如果操作数均为整数,那么为整数运算;如果操作数有一个不是整数,那么其运算为浮点运算。

逻辑运算符:
    区分与运算符&&&,或运算符|||:
         &&
||是按短路方式进行运算求值,&和|是非短路求值

位运算符:
       &(
按位与)
      
(按位或)
       ^(
异或)
       
(取反)
       <<(
左移,空位用0填充,不论正负数)
       >>(
右移,空位用符号位填充)
       >>>(
无符号右移高位补0)
       
对于以上三种移位运算符,在运算之前需要对右侧操作数进行模32运算

     public static void main(String[] args) {
        byte m=-2;
        byte n=0;
        n=(byte) (m << 2);
        System.out.println("-2<<2="+n);       //-2<<2=-8  11111000
        n=(byte) (m << 8);
        System.out.println("-2<<8="+n);       //-2<<8=0   00000000

        n=(byte) (m>>2);
        System.out.println("-2>>2="+n);       //-2<<2=-1  11111111
        n=(byte) (m>>8);
        System.out.println("-2>>8="+n);       //-2<<8=-1  11111111

        n=(byte) (m>>>2);
        System.out.println("-2>>>2="+n);      //-2<<2=-1  11111111
        n=(byte) (m>>>8);
        System.out.println("-2>>>2="+n);      //-2<<2=-1  11111111

原创粉丝点击