Java初学者之变量及运算

Posted r1chr1ch

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java初学者之变量及运算相关的知识,希望对你有一定的参考价值。

今天是第二天学习Java,感觉有点费力了

学习了变量常量和数据之间的运算

变量分为三种:1.实例变量:他是对象中的变量,最大的特点是有初始值.2.局部变量:必须声明和初始化,3.类变量,被static修饰.

常量:顾名思义,不可以改变的量为常量。用final修饰

数据之间的运算分为:一元,二元,三元,位运算,逻辑运算

一元运算:

++ -- 这里有一个重要的知识点: ++a是先自加再执行代码,a++是先执行代码再自加

二元运算:

加减乘除以及模运算,模运算就是取余

三元运算:

x?y:z x为真的话取y值,x为假的话取z值也叫做条件运算符

关系运算:>,<,<=,>=,!=.

逻辑运算:

&&,||,!与或非

在逻辑运算中一旦判断为flase,后面的代码都不会执行.&&等同于and ||等同于or  !等同于no

位运算:

底层进制的运算: &,|,~,>>,<<.

&位数上都为1为1,其余为0.|位数上都为0为0,其余为1.~位数上相同为0,不同为1

>>右移一位等同于除2.<<左移一位等同于承2

最重要的一点是字符串的相加,""+a+b(a和b为int类型),会把a和b转换为字符串在进行相加,a+b+""顺数是a和b相加再变为字符串.

我发现最特殊的是,long类型变量和其他变量相加的结果是long类型,而int,short,byte三者任意相加不管有没有溢出结果都会是int类型.

 

java基础之变量详解

前言

上一篇我们讲的是java基础之常量及数据类型,包括定义,代码,演示和总结。

这一篇接着给大家带来,java基础之变量和数据类型,变量到后面大家工作的时候也都会频繁用到,所以大家看得时候一定要实操一下,本篇和上一篇的内容衔接的比较紧密,对这一块比较陌生的初学者兄弟们建议先去看看上一篇的内容。

java基础之变量详解_变量

1.介绍

     变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。变量可以通过变量名访问。在指令式语言中,变量通常是可变的;但在纯函数式语言(如Haskell)中,变量可能是不可变(immutable)的。

在一些语言中,变量可能被明确为是能表示可变状态、具有存储空间的抽象(如在Java和Visual Basic中);但另外一些语言可能使用其它概念(如C的对象)来指称这种抽象,而不严格地定义“变量”的准确外延。


2、变量

2.1、变量概念

        在程序的运行过程中可以改变的量叫变量,变量是用来存储数值的内存区域,每一个变量都会分配一个内存区域存储数值。

java基础之变量详解_java_02

2.2、作用

变量用来记录数值。使用变量进行代数计算,则该变量中数值可以随着程序的逻辑计算而改变。当计算全部结束后,再将数值拿出展示给用户。

2.3、变量的使用格式

日常变量的使用分为四个部分:

变量定义格式:数据类型  变量名  =  变量值

例如:

int a = 100;

(1)变量类型  

       每一个变量均必须指定其变量类型。Java是强类型语言,在Java中不同的数据类型在内存中的存储方式是不尽相同的。所以必须在存储内容之前指定数据类型。

(2)变量名  

       即使用标识符为变量起一个名字,之后在计算时,使用该名字即可参与计算。这个名字就代表了存储数值的空间。

(3)“=”号  

这里的“=”号是运算符的一种,即=代表赋值运算,并非数学意义上的相等。

(4)变量值  

即真正变量存储的数值,需要与变量的数据类型一致。

2.4代码示例:

/*
变量:存储数值的一块内存区域
变量的定义格式:
数据类型变量名 = 数据值;
磊哥的java历险记@51博客
*/
public class Main
public static void main(String[] args)
//定义一个存储整数的变量
int number = 10;
//打印变量的值
System.out.println("number改变前:"+number); //10

//改变变量的值
number = 20;

//打印变量的值
System.out.println("number改变后:"+number); //20

java基础之变量详解_代码_03

2.5、日常变量的注意事项

(1)可以同时定义多个变量

(2)变量定义后可以不赋值,使用时再赋值。不赋值不能使用。

(3)变量使用时有作用域的限制。

代码示例(不赋值):

java基础之变量详解_java_04

代码示例(赋值):

/*
变量使用的注意事项:
可以同时定义多个变量
变量定义后可以不赋值,使用时再赋值。不赋值不能使用。
变量使用时有作用域的限制
/磊哥的java历险记@51博客
*/
public class Main
public static void main(String[] args)
//可以同时定义多个变量
int a=5, b=10;
/* 上面和下面的意义一样
int a = 5;
int b = 10;
*/
System.out.println(a);//5
System.out.println(b);//10

//变量定义后可以不赋值,使用时再赋值。不赋值不能使用。
int c;
//System.out.println(c=20);//错误: 可能尚未初始化变量c,使用时未赋值
c = 20;
//已经赋值了,可以使用
System.out.println(c);


java基础之变量详解_特点_05

3、数据类型

       Java是一种强类型语言,对不同数据结构进行了严格的区分,对每一种数据类型都做了明确定义,也同时规定了每一种数据类型的变量在内存中占用空间的大小。

3.1、字节

字节是计算机当中存储数据的基本单位,每种数据类型都会占用一定的空间。

3.1.1、比特位

       比特位(bit)是计算机当中最小的存储单位,由于机器码只识别1与0,所以每一位的1与0均为一个比特位

3.2.2、字节组成规则

      在计算机当中如果使用bit来计算数据过于冗余复杂,所以以8个比特位组成一个新的单位——字节,作为数据存储的基本单位

3.2.3、常见的数据存储单位之间的换算

   1B(字节) = 8bit

   1KB = 1024B

   1MB = 1024KB

   1GB = 1024MB

    1TB = 1024GB

3.2、数据类型分类

java基础之变量详解_特点_06

      数据类型分为基本类型与引用类型,引用类型包括:数组、类、接口,在面向对象后期会全部介绍完毕。这里着重介绍基本数据类型。

3.2.1、整数型(精确)

int  占用4个字节  (整数的默认值)

byte  占用1个字节

short 占用2个字节

       long  占用8个字节(注:long类型在赋值时,需要在值后加入字母l(L)区分其是一个长整型,如  int  i = 100;  short  s = 66;  long  l = 100L;

代码展示:

public class Main
//磊哥java历险记 @51博客
public static void main(String[] args)
//整数型
byte b = 100;
System.out.println(b);
short s = 10000;
System.out.println(s);
int i = 1600000000;
System.out.println(i);
long l = 6000000000L;
System.out.println(l);

java基础之变量详解_代码_07


3.2.2、浮点型(小数型,非精确,为近似值)

        double 占用8个字节  (小数的默认值)

        float  占用4个字节(注:float类型在赋值时,需要在值后加入字母f(F)区分其是一个浮点型,如 double  d = 100.0; double  d2 = 10.1;  float  f = 100.0F;)

代码演示:

public class Main
//磊哥java历险记 @51博客
public static void main(String[] args)
//浮点型
double d = 3.14;
System.out.println(d);
float f = 2.6f;
System.out.println(f);

//小数是一个不精确的数
System.out.println(f-2);//0.5999999

java基础之变量详解_特点_08

3.2.3、字符型

      char占用2个字节(注:必须使用’’包裹,且不能为空。如  char   c = ‘a’; char  c2 = ‘中’; char  c3 = ‘ (空格)’; char c4 = ‘$’;char c1=\\\\; char c5=‘\\’;)

代码演示:

public class Main
//磊哥java历险记 @51博客
public static void main(String[] args)
//字符型
char c = a;
System.out.println(c);

java基础之变量详解_特点_09

3.2.4、布尔型

      布尔值是我们比较陌生的类型,它代表一些条件成立与不成立的判断。只有两个值true与false。boolean 占用1个字节

如:boolean  b = true; boolean  b2 = false;

类型

数据表示范围

整数类型byte

-128~127


整数类型short

-32768~32767

整数类型int(整数的默认值)

-2147483648~2147483648

整数类型long

-263~263-1

小数类型float

-3.403E38~3.403E38

小数类型double(小数的默认值)

-1.798E308~1.798E308

字符类型char


表示一个字符,如(a,A,0,家)

布尔类型boolean

只有两个值true与false

代码展示:

public class Main
//磊哥java历险记 @51博客
public static void main(String[] args)
//布尔
boolean b1 = true;
System.out.println("b1:"+b1);
boolean b2 = false;
System.out.println("b2:"+b2);

java基础之变量详解_代码_10

代码总结:

/*
磊哥java历险记 @51博客
数据类型:
整数:(精确)
byte:占用1个字节
short:占用2个字节
int:占用4个字节(默认)
long:占用8个字节,使用时必须在末尾加上一个小写字母l或者大写字母L
小数:(不精确,近似值)
float:占用4个字节,使用时必须在末尾加上一个小写字母f或者大写字母F
double:占用8个字节(默认)
布尔:
boolean:(true,false)占用1个字节
字符:
char:占用2个字节
注意事项:
字符不能为空
字符实际存储的是一个数值
想把具有特殊含义,转换成普通的字符,用转义字符\\
想把普通字符t,变成一个具有特殊含义的字符,用转义字符\\t
*/
public class Main
//磊哥java历险记 @51博客
public static void main(String[] args)
//整数
byte b = 100;
System.out.println(b);
short s = 10000;
System.out.println(s);
int i = 1600000000;
System.out.println(i);
long l = 6000000000L;
System.out.println(l);

//小数
double d = 3.14;
System.out.println(d);
float f = 2.6f;
System.out.println(f);

//小数是一个不精确的数
System.out.println(f-2);//0.5999999

//布尔
boolean b1 = true;
System.out.println(b1);
boolean b2 = false;
System.out.println(b2);

//字符
char c = a;
System.out.println(c);

//转义字符
char c1 = \\;
System.out.println(c1);
char c2 = \\t;
System.out.println(c2+"Hello");
System.out.println(\\\\);

//字符实际存储的是一个数值
System.out.println(c+1);

3.3、数据类型转换

     数字类型可以有数据类型上的转换,即将一种类型的值赋值给另外一种类型的变量。但要依据数据范围,符合一定规则。各种数据类型按照数据范围从小到大:byte -> short -> int -> long -> float -> double

3.3.1、自动类型转换

     范围小的数据类型值(如int),可以自动转换为范围大的数据类型值(如double),范围大的数据类型 变量 = 范围小的数据类型值;

如:

double d = 1000;

int i = 100;
double d2 = i;

代码展示:

public class Main
//磊哥java历险记 @51博客
public static void main(String[] args)
//自动类型转换 int --> double
int i = 100;
double d = i;
System.out.println(i);
System.out.println(d);


java基础之变量详解_代码_11

3.3.2、强制类型转换

     范围大的数据类型值(如double),不可以自动转换为范围小的数据类型值(如int),但是可以强制转换。范围小的数据类型  变量 = (范围小的数据类型) 范围大的数据类型值;

如:

int  i = (int)6.718;   //i的值为6

  或

double  d = 3.14;
int i2 = (int)d; //i2的值为3

代码展示:

public class Main
//磊哥java历险记 @51博客
public static void main(String[] args)

//强制类型转换
double d2 = 3.14;
//int i2 = d2;//错误: 可能损失精度
int i2 = (int)d2;
System.out.println(i2);
System.out.println(d2);


java基础之变量详解_变量_12

代码总结:

/*
磊哥java历险记 @51博客
数字类型转换:就是数值转换,包括整数,小数,字符

自动类型转换:小-->大
byte < short(char)< int < long < float < double

格式:范围大的数据类型 变量名 = 范围小的数据类型的值;

强制类型转换:大-->小
格式:范围小的数据类型 变量名 = (范围小的数据类型)范围大的数据类型的值;
*/
public class Main
//磊哥java历险记 @51博客
public static void main(String[] args)

//自动类型转换 int --> double
int i = 100;
double d = i;
System.out.println(i);
System.out.println(d);

//强制类型转换
double d2 = 3.14;
//int i2 = d2;//错误: 可能损失精度
int i2 = (int)d2;
System.out.println(i2);
System.out.println(d2);


结语:

希望兄弟们看完我的文章有一定收获,能和大家一块学习,进步 是我本人的荣幸,也希望初学者兄弟们看完后,一定要自己尝试写一写,自己动手才是真的在学技术,加油!!!

咱们下期见!再次感谢兄弟们的持续关注!

java基础之变量详解_java_13


以上是关于Java初学者之变量及运算的主要内容,如果未能解决你的问题,请参考以下文章

指针与指针变量深度理解及程序举例(初学者)

Java历程-初学篇 Day02变量,数据类型和运算符

位运算---------图解及代码演示(gan货技巧满满,适合初学者)

菜鸟学python之对象类型及运算

Linux初学之数组及if语句for循环

Java 初学者