数据类型和操作符

数据类型和操作符

 

public class Course{    //类

    int field;                    //    属性

    static int staticField;    //静态属性

    

    public static void method(int param1,int param2){    //不叫函数叫方法

        int variable1;

        int variable2;

    }

}

 

四种变量:

1.属性    field

        实例变量         instance variable

2.静态属性    static field

        类变量        class variable

3.局部变量    local variable

4.参数    parameter

前两个在类里,后两个在方法里

 

如如何定义一个变量:

数据类型 变量名(identifier)

                1.直接加分号,定义了变量,并且没有初始化

                2.=value          定义了变量,并且进行了初始化

 

命名变量名(包括类名、方法名)一些规则(不遵守编译就会报错):

1.必须以 字母(包括中文) 或者 下划线_ 或者美元符   $  开头

2.变量名长度可以无限长

3.变量名不可以和java关键字冲突

        用于定义访问权限修饰符的关键字private    protected    public

        用于定义类、函数、变量修饰符的关键字abstract    final    static    synchronized

        用于定义类与类之间关系的关键字extends    implements

        用于定义建立实例和引用实例,判断实例的关键字new    this    super    instanceof

        用于异常处理的关键字try    catch    finally    throw    throws

        用于包的关键字package    import

        其他修饰符关键字native strictfp    transient    volatile    assert

        java中有两个未使用的保留字:goto、const

        java中有三个特殊含义的单词:null、true、false

        JDK1.4后追加了assert关键字;JDK1.5后追加了enum关键字

5.是大小写敏感的。 int    java;int    Java不同

 

命名规范:

1.永远不要用美元符和下划线命名(下划线有个特例)

2.使用有意义的名字作为变量名,缩写的歧义

3.不要用中文和拼音

4.类名称                    每个单词的首字母都大写的形式

    方法名称                单个单词,除第一个单词外,首字母大写

    变量名称                

    常量(不可以修改)        每个字母都大写,用下划线分割     final int COUNT_OF_COURSE = 100;

5.类名称    和    变量名称    大概是个名词

        方法名称                       大概是个动词

            对象:1、状态(属性)        2、行为(方法)

 

数据类型

  1. 基本数据类型(primitive data type)

                        1)数值类型

                                    整型        byte        short        int        long

                                    浮点型    float        double

                        2)布尔类型        boolean

                        3)字符类型        char

 

数据类型

存储空间大小

取值范围

默认值

boolean

1位

true/false

 

char

2个字节

0x000-0xFFFF

'\u0000'

byte

1个字节

没有无符号一说,这四种-128到+127

 

short

2个字节

有符号

-2^15到2^15-1

 

int

4个字节

有符号,确定是四个字节,不随系统变化

 

long

8个字节

有符号

 

float

4个字节

IEEE 754 标准

 

double

8个字节

IEEE 754 标准

 

char 类型里保存的不是一个ASCII编码,而是Unicode编码(编码标准)

 

ASCII(7位,一个字节即可达到)Unicode(31位,四个字节,用两个字就够存常用字,不常用也可以两个字节麻烦的表示)

 

中国                                                                0x4e2d 0x56fd

UTF-8(变长编码,支持全世界的字)              GB2312/GBK/GB18030     

 

乱码多是编码出错,遇到了就用UTF-8

 

整型的字面量

        100;(int)

        100L 100l    (long)

        进制

        十进制                100            100L

        十六进制            0xFF            0xFFL

        二进制                0b1010        0b101L                binary

        100(int型的字面量)                    byte a=100; byte b=233(超过了该类型的范围,不像C语言中发生截断,而是直接报错);

        byte 和short可以互相存(大小合适),然而其他类型大转小都会报错

 

浮点型字面

        1.0(double)

        1.0F    1.0f(float)

                                                        double a = 1E3(-3)1e3(3);科学表示法,大数可加下划线2——2=22

 

double a=1.0F;    //没问题

float b=1.0;        //有问题,不允许

里式转换类型:即需要一个大范围的类型,一个小范围类型才可以放进去

 

强制类型转换(type cast)

long a = 100L;

int b=(int)a;

 

boolean            字面量            ture/false

 

char(字符) string(字符串)

char   c=‘中’;用单引号

char    c=‘\u4e2d’;用unicode转义序列(Unicode escape sequence)

 

String s ="中国";//用双引号

 

char的转义字符

\n    \t    \b    \\    \'    \"...

 

String的加法运算

String a = “我爱”;  String b = “中国”;        a+b结果  我爱中国

 

    public static void add(int a,int b){

        System.out.println("a+b的结果是" +a+b);

        "a+b的结果是1"+b

        “a+b的结果是11”

        

        System.out.println("a+b的结果是" +(a+b));

    }

 

包装类(每个类型有对应的包装类)

public static void learnRange(){

        System.out.println("byte型的范围");

        System.out.println(Byte.MIN_VALUE);

        System.out.println(Byte.MAX_VALUE);

    }

 

    2.引用数据类型(reference data type)

 

运算符

 

赋值运算符            =

a 初始化    b 修改值(final加上初始化后则不可修改)

 

算数运算符            +-  * / %

/向下取整除法        5/3=1

%取余数 

 

一元运算符        ++ --    +     +10    -10    !逻辑取反

int    a = 100;        a++;的值100 ;a的值编程101

                                ++a;的值101;a的值变成101

!逻辑取反只能用于boolean类型

int a =10;            !a;//C语言合法,java不合法

 

比较运算符

条件运算符    条件(只允许boolean类型)?结果一:结果2

凡是用到逻辑运算的地方,必须用boolean类型

 

短路特性        &&        ||

 

位运算符    ~ % | ^(异或)

 

位移运算符

        <<        >>        >>>(不带符号右移)

0b11000<<2==0b11000_00

0b11000<<2==0b110

 

instanceof 类型判断运算符

 

对象 instanceof 类 ==true | false

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值