变量和运算符的基本知识点

一、变量

概念:变量指的是程序运行时可变的量,相当于开辟一块内存空间来保存一些数据。

变量:
—成员变量
—局部变量(一般是在方法内部的变量)

1.整形变量

基本语法格式:int 变量名 = 初始值;

代码示例:

int n = 10;//定义一个整形变量

System.out.println(n);//打印这个值

注意事项:

(1).int表示变量的类型是一个整形,占4个字节(区别于c语言,是固定的和计算机的多少位无关)

(2).变量名是变量的标识,后续都是通过这个名字来使用变量

(3).java中的‘=’表示赋值,区别于常规的数学计算,意思是给变量设置一个初始值。

(4).初始化操作是可以选的,但是建议创建变量的时候都显式初始化

(5).最后记得加上分号,否侧会编译失败

(6).//表示注释,用于代码中的解释说明,不参与编译运行

(7).4个字节表示的数据范围是-2^31 — 2^31-1

可以使用以下代码查看java中的整形数据范围

System.out.println(Integer.MAX_VALUE);
System.out.println(Integer.MIN_VALUE);
    public static void main(string[] args) {
    int a=10;
    System.out.println(a);

    System.out.println(Integer.MAX_VALUE);//2^31=2147483647
    System.out.println(Integer.MAX_VALUE);//-2^31-1=-2147483648

    System.out.println(Integer.MAX_VALUE+1);//-2147483648
    System.out.println(Integer.MAX_VALUE-1);//2147483647
    //这里看成一个圆分成两半的加减
    //int 都是4个字节 和操作系统的多少位无关,所以可移植性非常强。区别于c语言。
    }

 2.长整形变量

基本语法格式:

long 变量名 = 初始值;

 代码示例:

  public static void main2(String[] args) {
      long a = 10L;//long长整形8个字节。8 * 8 = 64位-> 取值范围-2^63-2^63-1
      System.out.println(Long.MAX_VALUE);
      System.out.println(Long.MIN_VALUE);
      System.out.println(a);
  }

 3.双精度浮点型变量

基本语法格式:

double 变量名 = 初始值;

代码示例:

    public static void main3(String[] args) {
        double d=12.5;//8个字节
        System.out.println(a);
        //int a=12.5;这是错误的,整数不能去保存小数。

    }
   public static void main4(String[] args) {
        double num = 1.1;
        System.out.println(num*num);//在电脑的世界当中小数是没有一个最精确的。
        //只能最精确到小数点的后几位 float 6位

        int a = 1;
        int b = 2;
        System.out.println(a/b);//在java中,int除以int的值仍然是int(会直接舍弃掉小数的部分,原本是0.5,但是这里就变成0了)
        //如果想得到0.5则需要使用double类型
        double a = 1.0;
        double b = 2.0;
        System.out.println(a/b);
    }

 4.单精度浮点型变量

基本语法格式:

float 变量名 = 初始值;

代码示例:

 public static void main(String[] args) {
        float f = 12.5f;//4个字节
        System.out.println(f);
    }

5.字符类型变量

基本语法格式: 

char 变量名 = 初始值;

 代码示例:

 public static void main(String[] args) {
        char ch = 'g';//占2个字节,单引号的叫做字符,双引号——“字符串”  -》 正数  Character
        char ch2 = '高';
        char ch3 = 97;
        System.out.println(ch2);//一个汉字就是占2个字节
        System.out.println(ch3);//打印结果是a,虽然给的是正数,但是因为是char的类型 所以会自己去寻找对应的字符,不能给负数
        //执行javac的时候可能出现以下错误:
        char ch=‘鍛?’;
        //此时我们在执行javac时加上 -encoding UTF-8选项即可
        //javac -encoding UTF-8 Test.java
    }
        

6. 字节类型变量

基本语法格式:

byte 变量名 = 初始值;

 代码示例:

 public static void main(String[] args) {
        byte b = 127;//占1个字节 -> Byte  取值范围是 -128 — 127
        System.out.println(b+1);//128 因为是整型打印-结果就不是-128了
        //int a = 2147483647;//直接赋值的时候,不能超过他的表示范围,eg:int a = 2147483648 ×
        //System.out.println(a);
    }

 7.短整形变量

基本语法格式:

short 变量名 = 初始值;

 代码示例:

public static void main(String[] args) {
        short s = 10;//占2个字节  取值范围:-2^16 —— 2^16 -1
        System.out.println(s);
    }

 8.布尔类型

基本语法格式:

boolean 变量名 = 初始值;

 代码示例:

 public static void main(String[] args) {
        boolean flg = true;//布尔类型只有2个值:true or false
        System.out.println(flg);
    }

 注:

(1)java中的boolean类型和int不能相互转换,不存在1表示true,0表示false这样的用法

(2)boolean类型有些JVM的实现是占一个字节,有些是占1个比特位,这个没有明确规定

9.字符串类型 

基本语法格式:

string 变量名 = " 初始值 ";

代码示例:

   public static void main(String[] args) {
        String str="abcdef";//string不是基本类型(8种)([数值类型(整数、浮点)][字符类型][布尔类型]),是引用类型。
        String str2="\"abcdef\"";//转义字符——打印结果-“adcdef”
        System.out.println(str);//abcdef
        System.out.println(str2);
    }

    public static void main2(String[] args) {
        System.out.println("ab"+"cd");
        String str1="ab";
        String str2="cd";
        System.out.println(str1+str2);//abcd
        System.out.println(10+str1+str2);//10abcd
        System.out.println(10+20+str1+str2);//30abcd
        System.out.println(str1+str2+10+20);//abcd1020
        //任何类型的数据和字符串进行拼接,其结果就是一个字符串
        String ret=10+str1+str2;
        System.out.println(ret);//10abcd
        ret=str1+str2+10+20;
        System.out.println(ret);//abcd1020
    }

10、变量的命名规则

(1)一个变量名只能包含数字,字母和下划线

(2)数字不能开头

(3)变量名是区分大小写的,例如num和 Num是两个不同的变量

注:

(1)变量命名要具有描述性发

(2)变量名不宜直接使用拼音,特殊情况除外。比如:阿里巴巴(Alibaba)

(3)变量名尽量使用小驼峰命名法,当一个变量名又多个单词构成时,除了第一个单词之外,其他单词的首字母都大写

11、常量

1.字面值常量

10 int 字面值常量(十进制)
010int 字面值常量(八进制) 由数字 0 开头. 010 也就是十进制的 8
0x10int 字面值常量(十六进制) 由数字 0x 开头. 0x10 也就是十进制的 16
10Llong 字面值常量. 也可以写作 10l (小写的L)
1.0double 字面值常量. 也可以写作 1.0d 或者 1.0D
1.5e2   double 字面值常量. 科学计数法表示. 相当于 1.5 * 10^2
1.0f    float 字面值常量, 也可以写作 1.0F
true    boolen 字面值常量, 同样的还有 false
'a'char 字面值常量, 单引号中只能有一个字符
"abc"   String 字面值常量, 双引号中可以有多个字符         

2. final 关键字修饰的常量

final int a = 10; 

a = 20;    

// 编译出错,无法为最终变量a分配值

注:常量不能在程序运行过程中发生修改!

12、理解类型转换

int a = 10;

long b = 20;

a = b;   // 编译出错
b = a;   // 编译通过

注:long 表示的范围更大, 可以将 int 赋值给 long, 但是不能将 long 赋值给 int.

int a = 10; 

double b =1.0;

a = b;   // 编译出错

b = a;   // 编译通过

注:double 表示的范围更大, 可以将 int 赋值给 double, 但是不能将 double 赋值给 int.

int a = 10;

boolean b = true;

b = a;   // 编译出错
a = b;   // 编译出错

注:结论: int 和 boolean 是毫不相干的两种类型, 不能相互赋值.

byte a = 100;  // 编译通过

byte b = 256;  //编译报错

注: byte 表示的数据范围是 -128 -> +127, 256 已经超过范围, 而 100 还在范围之内.

  java类型汇总

 二、运算符

1.逻辑运算符

逻辑与(&&)

int a = 10;

int b = 20;

int c = 30; 

System.out.println(a < b && b < c); 

 规则: 两个操作数都为 true, 结果为 true, 否则结果为 false.

逻辑或(||)

int a = 10;

int b = 20;

int c = 30; 

System.out.println(a < b || b < c); 

规则: 两个操作数都为 false, 结果为 false, 否则结果为 true

逻辑非(!)

int a = 10; 
int b = 20; 
System.out.println(!a < b); 

规则: 操作数为 true, 结果为 false; 操作数为 false, 结果为 true(这是个单目运算符, 只有一个操作数).

2.位运算符

解释:位操作表示按二进制位运算. 计算机中都是使用二进制来表示数据的(01构成的序列), 按位运算就是在按照二进制位的每一位依次进行计算. 

按位与(&)

int a = 10; 
int b = 20; 
System.out.println(a & b); //结果就是0

//01010 

//10100

//00000

//进行按位运算, 需要先把 10 和 20 转成二进制, 分别为 1010 和 10100

// 如果两个二进制位都是 1, 则结果为 1, 否则结果为 0.

按位或(|)

int a = 10; 
int b = 20; 
System.out.println(a | b); //30

//01010 

//10100

//11110

//如果两个二进制位都是 0, 则结果为 0, 否则结果为 1

按位取反(~)

规则:如果该位为 0 则转为 1, 如果该位为 1 则转为 0

按位异或 ^

规则:如果两个数字的二进制位相同, 则结果为 0, 相异则结果为 1.

 3.条件运算符

表达式1 ? 表达式2 : 表达式3

// 求两个整数的最大值

int a = 10; 
int b = 20; 
int max = a > b ? a : b; 

规则:当表达式1的值为 true 时, 整个表达式的值为表达式2的值; 当表达式1的值为 false 时, 整个表达式的值为表达式3的值.

也是 Java 中唯一的一个 三目运算符, 是条件判断语句的简化写法.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值