个人博客网:https://wushaopei.github.io/    (你想要这里多有)

2 量的使用

2.1按数据类型分类

  1. 整型 : byte(1字节 = 8bit) short(2字节) int(4字节) long(8字节)
  2. 浮点型 : float(4字节) double(8字节)
  3. 字符型 : char(2字节)
  4. 布尔型 : boolean

public class VarTest2{ public static void main(String[] args){ //整型 byte short int long
byte b = 127; //表数范围 -128 ~ 127 long l = 123789L; //long类型常量后面需要加"l"或者"L",注意一般加大L //浮点型 float double
float f = 12.3f; //float类型常量后面需要加"f"或"F"
double d = 12.9;
double d2 = .5; // .5 等于 0.5 //字符型 char
char c = 'a';
c = '中';
c = 'ふ'; c = '\n'; //c = 'ab'; //只能存放一个字符 c = '\u0096';
System.out.print("aaaaaaaaaaaa");
System.out.print(c);
System.out.print("bbbbbbbbbbbb"); //布尔型 :只有两个值 true 或 false
boolean boo = false;
System.out.println(boo); System.out.println("-----------------------默认常量--------------------"); //java的整型常量默认为 int 型
byte n = 15; //底层对15进行了强制类型转换所以可以直接赋值 long n2 = 123564654654654564L; //Java 的浮点型常量默认为double型
float num1 = 12.3f;
}
}

2.2定义变量的格式:

格式: 变量的类型  变量名 = 变量值

例:

//声明一个变量并赋值
int number = 20;
//声明一个变量
int number2;
//给变量赋值
number2 = 30;
System.out.println(number2);
//变量可以被多次赋值后一次赋值覆盖前一次的值
number2 = 50;
//int number2 = 100; 编译错误 - 同一作用域内的变量名不可重复
int a,b,c; //同时声明了三个变量
a = b = c = 10; //同时给三个变量赋值
int aa = 10,bb = 20,cc = 30;

2.3变量使用的注意点:

①先声明再使用

②作用域 :声明它的那对大括号内

③在同一个作用域中变量名不能相同

④变量可以被多次赋值,后一次赋值覆盖前一次的值

3变量间的运算

3.1基本数据型间运算

一 基本数据类型之间的运算(7种 不包括(boolean))

  1. 自动类型提升:小容量和大容量的变量作运算,用大容量的类型来接收数据。
  • byte,short,char -> int -> long -> float -> double
public class VarTest3{

	public static void main(String[] args){

		//思考?两个不同的类型做运算,结果用什么接收。

		short s = 123;
int a = 100;
a = a + s; //short和int做运算-使用int类型变量来接收 float f = 12.3f; //float - 4字节
long ll = 123L; //long - 8字节
f = f + ll; System.out.println("--------------------------");
//注意 : byte short char三者之间做运算先提升为int类型
byte number = 100;
short number2 = 200;
int number3 = number + number2; char c = 'a';
int aa = 1;
number3 = c + aa; System.out.println(number3);
}
}

2.强制类型转换:自动类型提升的逆过程。

public class VarTest4{

	public static void main(String[] args){

		/*
强制类型可能会损失精度
*/
int a = 128;
byte b = (byte)a;
System.out.println(b); double d = 12.5;
int a2 = (int)d;
System.out.println(a2); System.out.println("---------------------------"); int a3 = 12;
byte b2 = (byte)a3;
System.out.println(b2); System.out.println("---------------------------"); int a4 = 1000;
long ll2 = (long)a4;
System.out.println(ll2);
}
}

注意:

  ①容量指是变量的表数范围

  ②byte,short,char三者之间做算先自提升为int类

3.2 String基本数据类型(8种)间运算

符串的赋值方式:

public class VarTest5{

	public static void main(String[] args){

		//String类型的声明和赋值方式
String str = "hello java"; String str2 = new String("aaaa"); //这种方式先了解即可 System.out.println(str);
System.out.println(str2); System.out.println("--------------------------------------"); int a = 10;
String str3 = str + a;
System.out.println(str3); boolean boo = true;
String str4 = str + boo;
System.out.println(str4); System.out.println("--------------------------------------------"); int number = 12;
char c = 'a';
String str5 = "cangjie"; System.out.println(str5 + number + c); // cangjie12a
System.out.println(number + c + str5); //109cangjie
System.out.println(str5 + (number + c)); //cangjie109
System.out.println(number + str5 + c); //12cangjiea System.out.println("--------------------------------------------"); float ff = 12.5f;
String str11 = ff + "";
System.out.println(str11); }
}

明:

1.String与基本数据类型间只能做连接运算

2.String与基本数据类型做运算结果只能是String

4、进

4.1进制的表示

二进制:以0b或0B开头 。比如:0b10

八进制:以0开头.比如010

十六进制:以0x或0X开头。比如0x10

4.2二

①所有数字在计算机的底层都是以什么方式存在?进制

②计算机以什么样的形式保存所有的整数?

什么是原码,反码,补码?

1、正数的原码,反码,补码相同

2、负数的

  • 原码:直接将一个数值换成二进制数。最高位是符号位
  • 反码:除符号位外,将原码取反(0变1,1变0)
  • 补码:在反码的基础上加1
public class JinZhiTest{

	public static void main(String[] args){

		int a = 0B10;

		a = 010;

		a = 0x10;

		System.out.println(a);
}
}

5、运算符

算术运算符

说明:

  1. 前++后++前区别是什么?
  • 前++ :先自增1,后赋值
  • 后++ :先赋值,再自增1
  • 前-- :先自减1,后赋值
  • 后-- :先赋值,再自减1
  • 代码:

    	//除
    int number = 10;
    int number2 = 4;
    int number3 = number / number2; //2 double number4 = number / number2; //2.0 number4 = (number + 0.0) / number2; //2.5 number4 = (double)number / number2; //2.5 number4 = (double)(number / number2); //2.0 //使用场景 : 判断是否可以整除。 比如 x % 5 == 0 如果条件满足那么就可以整除
    System.out.println(0 % 2); //0
    System.out.println(1 % 2); //1
    System.out.println(2 % 2); //0
    System.out.println(3 % 2); //1
    System.out.println(4 % 2); //0
    System.out.println(5 % 2); //1
    System.out.println(6 % 2); //0 System.out.println("-------------------------------------------");
    //思考?取模结果的正负和什么有关? 和被模数有关。被模数是正的结果就为正,被模数是负的结果就为负
    System.out.println(-3 % 2); // -1
    System.out.println(3 % -2); //1
    System.out.println(-3 % -2); //-1

赋值运算符

相关面试题:

①编译不通过,因为short类型变量运算符时会先自动类型提升为int类型

②编译可以通过,不会改变原来的数据类型

比较运算符(关系运算符)

说明:结果都是boolean类型

逻辑运算符

说明:

1.逻辑与和短路与。当运算符的两边有一个为false结果就为false

 2.逻辑或和短路或。当运算符的两边有一个为true结果就为true

 3.逻辑非。取反。(如果a的值为true结果为false.如果a的值为false结果为true)

 4.逻辑异或。当运算符的两边值相同结果为false.两边的值不同结果为true

  特点 :

1.逻辑运算符是对boolean类型进行运算的

2.逻辑运算符的结果为boolean类型

位运算符

说明:

>> (右移):  在一定范围内,每向右移一位。原来的数除以2

<< (左移) : 在一定范围内,每向左移一位。原来的数乘以2

>> : 如果是正数最高位用0补,如果是负数最高位用1补

>>> (无符号右移) :

三元运算符

格式 : (条件表达式)?表达式1 : 表达式2

1.条件表达式的结果只能是boolean类型。如果结果为true返回的结果为表达式1.否则结果为表达式2.

2.三元素运算符可以嵌套使用,但是不建议。

3.表达式1和表达式2的类型要保持一致

    //需求?求三个数中的最大值
int aa,bb,cc;
aa = 10;
bb = 20;
cc = 30; int maxNumber = (aa > bb)? aa : bb;
maxNumber = (maxNumber > cc)? maxNumber : cc;
System.out.println(maxNumber);

代码 :

6、数据的交换


public class Demo {
public static void main(String[] args) { //方式一 :
/*
优点:容易理解。基本数据类型和引用数据类型都可以采用如下方式
缺点:多创建一个变量。占用了内存。
*/ int temp = a;
a = b;
b = temp; //方式二: /*优点 : 效率高
缺点 :可能会造成精度损失(溢出),只能用于(基本数据类型)数值
*/ a = a + b; // a = (a + b) b = a - b; // b = (a + b) - b; a = a - b; // a = (a + b) - b(a); //方式三
a = a ^ b; //a (k) = a ^ b
b = a ^ b; // k(a ^ b) ^ b
a = a ^ b; // k(a ^ b(a)) ^ b
System.out.println("a=" + a + " b=" + b);
} }

J

JavaSE(三) 变量与运算符的更多相关文章

  1. Python(三) 变量与运算符

    一.什么是变量 变量 = [1,2] 二.变量的命名规则 字母,数字,下划线,首字母不能是数字 系统关键字 不能用在变量名中 保留关键字 区别大小写 a=1,   a='1',   a=(1,2),  ...

  2. Python3(三) 变量与运算符

    一.什么是变量 变量 = [1,2] 二.变量的命名规则 字母,数字,下划线,首字母不能是数字 系统关键字 不能用在变量名中 保留关键字 区别大小写 a=1,   a='1',   a=(1,2),  ...

  3. java基础基础总结----- 关键字、标识符、注释、常量和变量、运算符、语句、函数、数组(三)

    Java语言基础组成:关键字.标识符.注释.常量和变量.运算符.语句.函数.数组 一.标识符 标识符是在程序中自定义的一些名称,由大小写字母[a-zA-Z],数字[0-9],下划线[ _ ],特殊字符 ...

  4. 1、C#基础:变量、运算符、分支、循环、枚举、数组、方法 <转>

    转自:海盗船长 链接:http://www.cnblogs.com/baidawei/p/4701504.html#3241882 C#..Net以及IDE简介 一.什么是.Net? .Net指 .N ...

  5. Shell基础:变量类型 & 运算符

    Shell变量 Shell支持三种类型的变量 用户自定义变量:用户自定义的变量,变量名以英文字母或下划线开头,区分大小写. 位置变量:根据位置传递参数给脚本的变量,默认支持9个位置变量 $1,$2,$ ...

  6. Java之--Java语言基础组成(关键字、标识符、注释、常量和变量、运算符)

    Java语言基础组成-关键字.标识符.注释.常量和变量.运算符 Java语言由8个模块构成,分别为:1.关键字:2.标识符(包名.类名.接口名.常量名.变量名等):3.注释:4.常量和变量:5.运算符 ...

  7. 第二十一节:Java语言基础-关键字,标识符,注释,常量和变量,运算符

    Java语言基础-关键字,标识符,注解,常量和变量,运算符 class Demo { public static void main(String[] args){ System.out.printl ...

  8. python基础 - 变量与运算符

    变量与运算符 变量 定义一个变量 a = [1,2,3,4,5,6] print(a) # [1,2,3,4,5,6] 变量命名要求: 首字母不能是数字 只能包含字符数字下划线 不能是关键字 type ...

  9. Linux基础-shell脚本知识整理和脚本编写----------变量、运算符、流程控制、函数、计划任务(发送邮件)

    I:知识整理:变量.运算符.流程控制.函数.计划任务 变量 系统变量:set:显示所有变量                env:环境变量 常用系统变量: path pwd lang home his ...

  10. JAVA交换两个变量的值-(不使用第三变量)

    以下方法的根本原理就是: 借助第三个变量 c = a; a = b; b = c; 运算符-不借助第三变量: a = a+b; b = a-b; a = a-b; 为运算符-不借助第三个变量: (此种 ...

随机推荐

  1. ReentrantLock源码解析

    ReentrantLock 1 数据结构 从上图可以看出,ReentrantLock的功能都是通过sync这个对象提供的. public class ReentrantLock implements ...

  2. ActiveMQ 事务、集群、持久订阅者、ActiveMQ监控

    JMS介绍 JMS是什么? JMS的全称Java Message Service,既Java消息服务. JMS是SUN提供的旨在统一各种MOM(Message-Oriented Middleware) ...

  3. Java 设置PDF中的文本旋转、倾斜

    本文介绍通过Java程序在PDF文档中设置文本旋转.倾斜的方法.设置文本倾斜时,通过定义方法TransformText(page);并设置page.getCanvas().skewTransform( ...

  4. Scala 中 Any 类源码

    package scalaabstract class Any { def equals(that: Any): Boolean //值比较 def hashCode(): Int //hash值 d ...

  5. 一篇博客带你轻松应对Springboot面试

    1. SpringBoot简介 SpringBoot是简化Spring应用开发的一个框架.他整合了Spring的技术栈,提供各种标准化的默认配置.使得我们可以快速开发Spring项目,免掉xml配置的 ...

  6. Algorithms - Priority Queue - 优先队列

    Priority queue - 优先队列 相关概念 Priority queue优先队列是一种用来维护由一组元素构成的集合S的数据结构, 其中的每一种元素都有一个相关的值,称为关键字(key). 一 ...

  7. flink进阶篇

    Flink 面试--进阶篇 1.Flink是如何支持批流一体的? 2.Flink是如何做到高效的数据交换的? 3.Flink是如何做容错的? 4.Flink 分布式快照的原理是什么? 5.Flink ...

  8. linux centos7 和 windows下 部署 .net core 2.0 web应用

    centos7 下部署asp.net core 2.0应用 安装CentOS7 配置网络[可选] 安装.Net core2.0 创建测试Asp.net Core应用程序 正式部署项目 安装VMware ...

  9. CentOS6.5x64采用静默模式安装64位oracle11g

    1.下载oracle11g64位版本的源文件,并上传到Linux服务器,下载地址自行百度,若实在找不到请留言. 2.Package安装检查安装: 通过yum工具直接安装: yum -y install ...

  10. .NET 合并程序集(将 dll 合并到 exe 中)

    ------------恢复内容开始------------ ------------恢复内容开始------------ 背景:我们的应用程序通常都是由多个程序集组成,例如一个 exe 程序依赖于多 ...