java基础--变量

1.变量

1.1.什么是变量:

  变量是用来命名一个数据的标志符。

1.2.标志符的命名规则:

  • 不能为关键字(如if,while等等)
  • 由数字,字母,下划线,$组成,但不能以数字作为开头
  • java是大小写敏感的
int a;
int A;

a与A是不同的变量。

java中其他东西的命名规则:(建议使用)

  • 类名:每个单词的首字母大小。如:MyClass
  • 函数名and变量名:第一个单词的首字母小写,其他单词的首字母大写。如addUser()

1.3.如何定义变量:

int i=5;

int表示为int的数据类型,i表示变量名,5为具体的数据

对于变量应该先定义后使用

 

2.数据类型

2.1java数据类型的分类:

  大致可分为基础数据类型和引用数据类型。

  基础数据类型又可分为:整型,浮点型,字符型,布尔型

  常见的引用类型:如数组等等。

具体如图所示:

2.2数据类型的使用:

2.2.1基本数据类型

1)整型(byte,short,int,long)

byte b=1;
short s=1;
int i=1;
long l=1l;
  • byte  占用内存 一个字节 范围:-128至127
  • short 占用内存 两个字节 范围:-32768至32767
  • int   占用内存 四个字节 范围:-2147483648至2147483647
  • long  占用内存 八个字节 范围:-?至?

注意:对于长整型的定义有点不同,必须在后面加上l(L)。

2)浮点型(float,double)

float f=1f;
double d=1;
  • float 占用内存 四个字节 范围:3.4E-38至3.4E+38 只能提供7位有效数字
  • double占用内存 八个字节 范围:1.7E-308至1.7E+308 可提供16位有效数字

注意:对于单精度浮点型来说,后面也必须加上f。

3)布尔型(boolean)

可以表示"真"或者"假",取值为true和false。和C语言不同的是不能用0/1代替

boolean b =true

4)字符型(char)

可以表示 单个字符,字符类型是char。char是两个字节(可以存放汉字)

多个字符我们称为字符串,在java中String这种数据类型表示,但是String不是基本数据类型,而是类,类是复合数据类型。

char c='a';

char进行运算的时候,直接当做ascii码对应的整数对待。

int test1='a'+'b';  //输出值195
char test2='a'+'b'; ///输出值?
char test3='中';    //输出值195

对于中文字符而言:

  • 采用ISO8859-1编码方式时,占一个字节。
  • 采用GB2312或GBK编码方式时,占两个字节。
  • 采用utf-8编码方式时,占3 个字节

2.2.2引用数据类型

 

3.数据类型的转换

3.1自动转换

数据类型可以自动的从低精度-->高精度。高精度不能转为低精度。

byte小于<short小于<int小于<long小于<float小于<double

在java中的小数默认是double数据类型

int a=1.2;    //1
double b=3;  //3.0

3.2强制转换

int a=(int)1.2;
int a=1; 
double b=4.5;
a=b;     // 报错
int a=1;
double b=4.5;
b=a;// 成功
                

错误原因:就是b已经是double类型当然不能直接赋值给a.必须强转

3.3计算过程中的转换

当一个整数和一个double运算的时候,运算结果会向高精度转换

int a=3;
double b=a+3.4;

java中byte,short,char在进行计算时都会提升为int类型。

byte b1=1,b2=1,b3;
b3=b1+b2;//报错

关于自动提升类型,有以下几个规则:

  • 所有的byte,short,char被转换为int
  • 如果有long,则结果为long
  • 如果有float,则结果为float
  • 如果有double,则结果为double
  • 如果被final修饰,则不会报错,因为被JVM优化了

 

4.常量

final修饰的变量

final int a=5;

 

5.变量的作用域

5.1全局变量

当一个变量被声明在类下面,变量就叫做字段 或者属性、成员变量、Field

比如变量i,就是一个属性。那么从第2行这个变量声明的位置开始,整个类都可以访问得到,所以其作用域就是从其声明的位置开始的整个类

public class HelloWorld {
    int i = 1;
    int j = i;  //其他的属性可以访问i
    public void method1(){
        System.out.println(i); //方法1里可以访问i
    }
    public void method2(){
        System.out.println(i); //方法2里可以访问i
    }
}

5.2局部变量

声明在方法内的变量,叫做局部变量 
其作用域在声明开始的位置,到其所处于的块结束位置

public class HelloWorld {
 
    public void method1() {
        int i  = 5;  //其作用范围是从声明的第4行,到其所处于的块结束12行位置
        System.out.println(i);
        {            //子块
            System.out.println(i); //可以访问i
            int j = 6;
            System.out.println(j); //可以访问j
        }
        System.out.println(j); //不能访问j,因为其作用域到第10行就结束了
    }
 
}

 

转载于:https://www.cnblogs.com/knight11/p/9325085.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值