Java数据类型和运算符

Java、C、C++ 是强类型语言(定义一个变量一定要规定它的类型)

(一)Java中共有八大基本数据类型(均有默认值)

一、数值型

1、整数型   默认值0

byte<short<int<<long

(1)   int        4字节,

Java , 一个 int 变量占 4 个字节. 和操作系统没有直接关系.最高位不存储数值,表示正负

 int a = 10;       声明变量   int a         赋值变量   = 10

当在类中(主方法外定义int变量时,默认值为0)

8个二进制位(bit)为一个字节(Byte).

当发生数据溢出(当前的数据类型放不下当前的数据)时,需要更换更大的数据类型。

(2)    long(长整型)   8字节

   long b = 10L; //使用long关键字定义长整型,数字后用L或者l

(3)byte    1个字节

字节型变量,进行网络编程或者文件IO传输使用byte, [-128 , +127]

2、浮点型   默认值0.0

(1)   float   单精度   4字节

float  a = 1.0F;  //定义一个float变量

(2)    double    双精度(推荐)   8字节

当使用double类型进行小数运算时,精度会出现不准,使用BigDecimal替代

二、字符型       默认值   \u000(单个空格)

char   2个字节,无论中文还是英文

三、布尔类型    默认值false

boolean

true  false   ,不能用0或1来表示真假

(二)字符串——不是基本类型,属于类

 在Java中,任何数据类型只要和字符串“ + ”,都会将其转为字符串而后进行字符串的拼接操作。

(三)变量的命名规则:小驼峰法命名

当只有一个单词时,全小写;多个单词,只有第一单词全小写,第二个单词起,首字母大写

int age         String schoolName        String myHomeName

(四)常量

定义以后不能修改的值

一、final 关键字定义常量

二、字面值常量

public class Test {
    //程序入口
    public static void main(String[] args){
        int a = 10;
        //0b开头表示二进制
        int b = 0b10;
        //0开头表示八进制
        int c = 010;
        //0x开头表示十六进制
        int d = 0x10;
      System.out.println(a);
      System.out.println(b);
      System.out.println(c);
      System.out.println(d);
    }
}

(五)数值类型的转换(一定是有关系的类型之间的转换)

一、大的转小的(需要强制类型转换)

会出现精度丢失问题(溢出问题,不推荐)

   int a = 10;
   long b = 10L;
   a = (int)b;
   b = a;

二、小的转大的(隐式提升)

 当直接赋值时long c = 10;将小类型直接提升为大类型,

当小类型与大类型进行运算时,小类型提升为大类型

在Java中,byte和short都不是4字节,为了程序运行方便,都会隐式的把byte、short => int

三、int与String之间的转换

1.    int => String    使用Integer.parseInt 方法

2.   String => int    String 的valueOf方法

 String s = "123";
 //String => int
 int a = Integer.parseInt(s);
 //int => String
 String s1 =String.valueOf(a);

(六)运算符

1. 算术运算符

     自增运算符

 

2.关系运算符
关系运算符的表达式返回值都是 boolean 类型,true  false
3.逻辑运算符
(1)逻辑与 &&
多个表达式都为 true时, 结果为 true, 否则返回 false。短路与,当多个表达式有一个返回false,
后面的表达式不再判断。
(2)逻辑非 ||
多个表达式只要有  true时, 就返回  true, 否则返回  false。短路或,当多个表达式有一个返回true,后
面就不再判断。

 

4.  位运算符

&  :按位与,两个二进制都为1返回1 ,否则返回0

|   :按位或,两个二进制都为0才为0,否则返回1

~  : 按位取反 , 1  —>   0  ,  0  —>  1

^   : 按位异或,两不一样返回1,两一样返回0   (一个数组中只有一个数出现一次,其他数都出现

两次,请找到这个数)——应用很广

a :   0 1 0 1 0

b :   1 0 1 0 0

&操作:0 0 0 0 0 

|操作: 1 1 1 1 0

^操作:1 1 1 1 0

取反操作牵扯到反码、原码、补码操作。

5.移位运算(直接在二进制位上进行的操作,效率比乘除高)

不考虑溢出问题

(1)左移

最左侧的不要,右侧补零   <<1,左移一位实际就是 * 2

(2)右移

最右侧的不要,左侧补零   >>1,右移一位实际就是 / 2

6. 三目运算符:

表达式  ?(为真时取值):(为false时取值)

 

(七)注释

注释是给人看的。编译之后,实际上就没了

(1)    //  单行注释    用在方法中,说明变量或者方法中代码的含义

(2)   /** 

       注释...

       */   

文档注释,用在方法和类的声明上,使用命令可以一键生成 .doc 文档

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值