(三)变量和运算符

JAVA基础(三)

--变量和运算符

一、数据的类型

Java的基本数据类型有四种:

整数类型、小数(浮点)类型、布尔类型、字符类型。

二、整数类型

当有变量被定义时,就会被分配到内存中去。比如int a=4;内存中就有一块地方,用来存放a的值。那值具体是多大的地方用来存放a呢?这就跟整数的类型有关了。

Byte 占一个字节 表示的范围-128~127 即-2^7~2^7-1

Short 占两个字节 表示的范围-32768到32767 即-2^15~2^15-1

Int 占四个字节 表示的范围-2147483648到2147483647 即-2^31~2^31-1

Long 占八个字节 表示的范围-2^255~2^255-1

为什么占n个字节表示的范围就是从-2^(8n-1)到2^(8n-1)-1呢?

其实在电脑中,一个字节有八位,一位代表一个数,采用二进制。比如


0


0


0


0


0


0


0


1

就代表1.

最高位为符号位,0代表正数,1代表负数。

那一个字节能代表的最低的数自然是


1


1


1


1


1


1


1


1

-127

同理能代表的最大的数为


0


1


1


1


1


1


1


1

127

那为什么最小的是-128呢?

因为+0和-0的表示重复了,


0


0


0


0


0


0


0


0


1


0


0


0


0


0


0


0

显然都表示0,所以就规定用+0来代表0,而-0代表-128,这样规定使补码的运算也刚好吻合,所以byte的表示范围就是-128~127,因此byte a=-128不报错而byte a=128报错。

同理可得各个整数类型的范围。

三、小数(浮点)类型

单精度浮点数(float)与双精度浮点数(double)的区别如下:

(1)在内存中占有的字节数不同

单精度浮点数在机内占4个字节

双精度浮点数在机内占8个字节

(2)有效数字位数不同

单精度浮点数有效数字8位

双精度浮点数有效数字16位

(3)所能表示数的范围不同

单精度浮点的表示范围:-3.40E+38 ~ +3.40E+38

双精度浮点的表示范围:-1.79E+308 ~ +1.79E+308

一般只要记住它俩都是表示小数且double表示得更精确就行。

四、布尔类型

Boolean可以表示true或者false。

例Boolean a=false;

五、字符类型

例如char a=’a’;char a=’嗨’;都是可以的。

char只能存放一个字符,char a=’aa’;会报错。

char 在Java中是2个字节。java采用unicode,2个字节(16位)来表示一个字符。

值得一提得是,char和int可以根据ascII表进行转换

我们可以int a=’a’;也可以char a=97;此时int的a就为’a’所对应的ascII的的值。同理char的a就是值为97的ascII字符。

同理char a=’a’+1;int b=’a’+’b’;这些操作都是可以的。

总之一句话,需要哪个类型的它就会转成哪个类型的,不过注意ascII码表的范围是0~127。

六、变量详解

1.定义变量:int a;这就是定义变量。

2.初始化变量:int a=45;这就是初始化变量。

3.给变量赋值:比如你先定义了变量int a;之后的a=45;就是给变量赋值。

4.当变量被定义的时候,就已经分配内存了。

5.一般未被赋值的变量直接被使用会报错(如果能,存放的也是垃圾值,也就是随机值)。

6.数据类型转换(精度排序byte<short<int<long<float<double):

数据会自动地从低精度转换到高精度(float a=1;可以输出a=1.0)。

数据无法从高精度转换到低精度(int a=6.5;将会报错),从高精度到低精度转换需要强转int a=(int)6.5;此时会损失精度,即此时a=6;(向下取整)

Java中默认情况下小数是double类型,float a=3.4;会报错,因为double无法往低精度的float转换,我们可以强转float a=(float)3.4;也可以使用更快捷的方式float a=3.4f;在后面加个f也是强转的意思。同理可以long a=32545l;反正报错的话后面加个l就好了。也不是所有的数都能加一个字母代表强转,大部分时候我们还是使用括号+变量类型转换。例如int a=(int)(9+6.5+3.66);

七、运算符

1.基本运算符

基本的+-*/运算法则跟数学的一样,先乘除后加减,有括号先算括号里面的。

比如int a=1+3*(4+1);显然a=16;

值得一提的是/号,比如int a=7/4;7/4就会自动被转成int类型了,也就是向下取整等 于1。

%取模(取余)运算符 int c=a%b;表示定义一个变量,值为a/b的余数,小数也可以用取余符号。

2.自增运算符

A++;等同于a=a+1;

++a;也等同于a=a+1;

一般这两个是没有区别的,当你要达到变量+1的效果时,用哪个都可以。

区别一般就是跟等号的优先级了,a++的优先级低于等号而++a的优先级高于等号:

Int a=56;

Int b=a++;

此时a会先把值赋给b再进行自增(最终a=57,b=56)。

Int a=56;

Int b=++a;

a将会先自增再把值赋给b(最终a=b=57);

值得一提的是,自增必须保证自增的数是确定的值,int a; int b=a++;不正确。

int a=5; int b=(a++)++;也不正确。因为不确定编译的时候看到(a++)需要自增,而不知道(a++)是哪个确定的值,虽然我们知道可以算出来,但是计算机没那么聪明。

还有就是自减运算,a--;--a;都是可以的,但是没有自乘运算和自除运算。

3.算数运算符

b+=a;表示b=b+a;

B*=a;表示b=b*a;

同理减号除号取模号都可以。

4.关系运算符

用于判断左右两个数的关系

>(大于)  <(小于)  ==(等于)  !=(不等于)  >=(大于等于)  <=(小于等于)

一般与判断语句放在一起:

如If(a==b) System.out.println(“a等于b”);

值得一提:判断的等于是两个等号,一个等号是表示赋值,我们不能if(A=B),把一个赋值语句放在判断框里是不对的,判断框里需要的是bool类型的东西。

If(true)和if(1+1==2)都是可以的。

5.逻辑运算符

&&与  ||或  !非

int a=1,b=1,c=2;

if(a==1&&b==1) System.out.println("a=1且b=1");

if(a==1||c==1) System.out.println("a=1或者c=1");

if(!(c==1)) System.out.println("c=1本来是不对的,取反之后所以判断框里的内容就 会变成对的");

时间: 2024-10-11 19:47:26

(三)变量和运算符的相关文章

Shell基础教程--2.变量和运算符

2.变量和运算符 2.1.变量的类型 本地变量:环境变量:变量替换(显示变量):位置变量:标准变量:特殊变量: 2.2.本地变量 本地变量在用户现在的shell生命周期的脚本中使用 在命令行, LOCALTEST="test" 设置本地变量,$ echo $LOCALTEST 显示本地变量 set 命令可以查看这个shell的生命周期有哪些本地变量 readonly LOCALTEST ,就可以将LOCALTEST设置成只读的本地变量,不能再对其进行赋值操作,此时若执行如 LOCALT

java第二章 变量和运算符

  Java 基础应用编程--  变量和运算符 1.Java程序结构          数据类型:确定要存储在内存中的数据的类型.          变量:是存储数据的基本单元 2.变量的概念   变量是指在程序的运行过程中随时可以发生变化的量   变量是程序中数据的临时存放场所 3.数据类型及分类          基本数据类型:4类8种基本数据类型 引用数据类型 整数类型 - byte.short.int默认.long               Java中整型的三种表示形式        

JavaSE基础知识(2)—变量和运算符(2.2数据类型)

一.常见的数据类型 int:用于保存整型的double:用于保存浮点型的char:用于保存单个字符,要求字符值必须用单引号引起来String:用于保存字符串,要求字符串值必须用双引号引起来 二.数据类型的分类 ★ 三.基本数据类型详细介绍 一)整型   名称 所占字节空间 数值范围 byte 字节整型 1个字节 -27~27-1 short 短整型 2个字节 -215~215-1 int 整型 4个字节 -231~231-1 long 长整型 8个字节 -263~263-1 特点: 1.编译器默

Java的基本语法 变量和运算符

Java基础语法   第1章 变量 1.1 变量概述 1.2 计算机存储单元 1.3 基本类型之4类8种 1.4 常量与类型 1.5 定义变量(创建变量) 1.6 变量使用的注意事项 1.7 数据类型转换 第2章 运算符 2.1 算术运算符 2.2 算数运算符++.--的使用 2.3 赋值运算符 2.4 比较运算符 2.5 逻辑运算符 2.6 三元运算符 2.7 运算符优先级   第一章 变量 1.1变量的概述 前面我们已经学习了常量,接下来我们要学习变量.在Java中变量的应用比常量的应用要多

Java变量和运算符

(一)关键字.保留字.标识符 1.关键字 关键字定义:对编译器有特殊意义的单词 01 package com.neuedu.ch01; 02 / * 03 *我的第一个Java代码 04 */ 05 public class FirstTest { 06 07 public static void main(String args[ ]) { 08 09 System.out.println(“Hello World!”); 10 11 } 12 13 } 以上红色字的单词是关键字. 关键字使用

1.2c#变量和运算符及注释

1.2.1c#数据类型 c#中常用数据类型有 整型 int, 浮点型float, 字符串string, 布尔型bool, 类比于java中的 int, float, String, boolean 1.2.2c#变量命名 c#中变量声明方式与java相同,使用如下方式:访问修饰符 数据类型 变量名称, c#中变量命名规则与java基本相同,只是$符号在c#中不能使用,规则如下: 1.组成:52个英文字母(A~Z,a~z),10个数字(0~9),下划线(_),除此之外不能含有其他的字符 2.开头:

Java常量、变量和运算符

根据程序中的数据在运行过程中是否会发生改变,可以将数据分为常量和变量. 1.常量 常量是程序中不能被改变的量,在Java中用final来定义常量,表示该常量只能够被赋值一次,习惯上要求全部大写. final double CM_PER_INCH = 2.54; //CM_PER_INCH常量被赋值为2.54 类常量:表示用static final修饰的常量,表示该常量可以在一个类中的多个方法中使用,若其被声明为public,则其他类中的方法也可以使用该类常量. public class Cons

js引入,js变量和运算符等

页面级的js不管写在页面的哪里都可以 企业项目开发要求:结构(html),样式(css),行为(js)相分离 不要既写外部js,又写内部js:如果两个都写,则外部js生效 声明多个变量时,每个变量之间应该换行,如: 变量名必须以字母,$,_开头 变量名可以由字母,$,_,数字组成 变量名不能用关键字和保留字 值类型(数据类型) 1)原始值(Number,String,Boolean,undefined,null) ① 原始值是栈数据(先进后出) ② 栈内存与栈内存之间的关系是拷贝的关系 ③ 不可

Java 第二章 变量 、数据类型和运算符 笔记

Java 第二章 变量 .数据类型和运算符 一.变量:存储数据的一个基本单元. 二.变量的声明和赋值: 1)声明并赋值:数据类型 变量名=值;      例:int  price=1000; 2)声明.赋值分两步:数据类型 变量名;   例: int  price; 变量名=值;              price=1000; 三.数据类型2种: 1)基本数据类型8种: Byte 长度:-128~127(-2的7次方到2的7次方减1) Short   -2的15次方到2的15次方减1 Int