Java 基础应用编程——  变量和运算符

1、Java程序结构

         数据类型:确定要存储在内存中的数据的类型

         变量:是存储数据的基本单元

2、变量的概念

    变量是指在程序的运行过程中随时可以发生变化的量

    变量是程序中数据的临时存放场所

3、数据类型及分类

         基本数据类型:4类8种基本数据类型

引用数据类型

整数类型 — byte、short、int默认、long

                Java中整型的三种表示形式

                        十进制整数:0 ~ 9,注:第一位不能是0

                       十六进制数:0 ~ 9 A ~ F, 注:必须以0x或0X开头

例如: 0X8A 0x12

           八进制整数:0 ~ 7,注:必须以0开头

例如: 0123 012

           八进制整数:0 ~ 7,注:必须以0开头

浮点数类型 — float 、double

            与整数类型相似,Java浮点数类型有固定的表数范围和字段长度,不受平台影响

字符类型 — char

          单个字符用 char 类型表示,通常取值可为:

            英文字母、数字、转义序列、特殊字符等

            Java中的字符占两个字节(16位),因此可用十六进制编码形式表示

           Java中的字符类型的值通常用单引号( ‗ ‘ )括起来

• 'A' -> 0x0041

• '中'-> 0x4e2d

• 在编码中: '0'~'9', 'a'~'z', 'A'~'Z'都是连续编码的!

• '0'与'\u0000'不是同一个字符

• 最小值:0, 最大值:65535 = 2^16-1

– 字符字面量使用单引号为定界符号:

• '中' 是整数常量!

转义字符

4、数据类型的转换规则

         两种数据类型转换方式:

自动类型转换(隐式类型转换):有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的那一种数据类型,然后进行计算

  自动转换规则

           boolean类型不可以转换为其他的数据类型

            整型、字符型、浮点型的数据在混合运算中相互转换,转换时遵守以下原则

byte、short、char之间不会相互转换,他们三者在计算时首先会转换为int类型

强制类型转换(显示类型转换)

  容量大的数据类型转换为容量小的数据类型时,需要使用强制类型转换,其格式如下:

例如: byte a;

int b;

a = (byte) b;

  在强制类型转换过程中,源类型的值可能大于目标类型,因此可能造成精度降低或溢出

5、运算符(操作符)

  是一种特殊的符号,用以表示数据的运算、赋值和比较

  运算符的种类:

  算术运算符: +、﹣、*、/、%、++、 --

  赋值运算符:=、+=、﹣=、*=、/=、%=

   比较运算符:>、<、>=、 <=、= =、!=、instanceof

  逻辑运算符:!、&&、||

  位运算符: &、|、^ 、 ~、>>、<<、>>>

  条件运算符: ? :

  条件运算符很独特,因为它是用三个操作数组成表达式的三元运算符。它可以替代某种类型的 if-else 语句

算术运算符

自增运算: ++, --

• i++, 后++, 先将i的值作为整个表达的值, 然后将i增加1.

• ++i, 先++, 先将i增加1, 然后将i的值作为整个表达的值.

• 如:

– int a = 1; int b=1;

– b = a++;//

• 1 a++表达式的值是1

• 2 执行a=a+1

• 3 执行赋值运算, 将表达式的值1赋值给b, 即b=1

赋值运算符

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

逻辑运算符(布尔运算符)

  逻辑运算符两端的操作数必须是布尔类型的值

位运算(只对byte、short、char、int、long有效)

  左移和右移运算相当于实现整数乘以或除以2的n次方

逻辑与或同按位与或是有一定区别的:

– 相同点是:都能参与逻辑运算,按位与或完全可以代替逻辑与或;

– 区别是:按位与或可以参与位运算,逻辑与或只能参与逻辑运算,逻辑与或可以“短路”,按位与或不能“短路”。

• 短路运算

– 作用运算符:逻辑与&&,逻辑或||

如(1):逻辑表达式:a>b && c>d

假设a>b 为false,c>d为true,那么整个表达式结果为false;

假设a>b 为false,c>d为false,那么整个表达式结果还为false;

可见,a>b的结果已经决定了整个表达式的结果,而后面的c>d并不影响表达式的结果,可以说后半部分被“ 短路”了。

如(2):逻辑表达式: a>b || c>d

假设a>b 为true,那么后半部分表达式将被“短路”;

三元运算符

– 所谓三元运算符,是对三个表达式进行的集中比较,表达式1的结

果为true时,就为第二个表达式,如果为false时,就为第三个表

达式。语法是:

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

– 通过下面代码说明三元运算符。

运算符的优先级

- 表达式通常由多个运算符组成。优先级的规则决定每个运算符在任何给定表达式中的计算顺序

6、表达式

  表达式的值和类型

         对表达式中操作数进行运算得到的结果称为表达式的值

          表达式值的数据类型即为表达式的类型

  表达式的运算顺序

         应按照运算符的优先级从高到低的顺序进行

           优先级相同的运算符按照事先约定的结合方向进行

表达式的结合方向和优先级

java第二章 变量和运算符的更多相关文章

  1. Java 第二章 变量、数据类型和运算符

    第二章      变量.数据类型和运算符 什么是变量: 变量代表一块内存区域,变量类型不一样,这一块内存的大小也不一样. #在编程语言里面,你可以通过定义变量,向内存里添加数据或者修改内存已有的数据. ...

  2. Java 第二章 变量

    第二章 变量 变量称为:是计算机语言中能储存计算机结果或能表示值抽象概念 .变量可以通过变量名访问 int money ; //变量 money=1000; //赋值 int money=1000: ...

  3. JAVA笔记03 变量和运算符 面试题以及笔记

    标识符的命名规则需要注意哪几点? 定义 就是给类,接口,方法,变量等起名字的字符序列 组成规则 英文大小写字母 数字 $和_ 注意事项 不能以数字开头 不能是java中的关键字 区分大小写 常见的命名 ...

  4. Java基础以及变量和运算符、包机制、javadoc生成

    目录 注释.标识符.关键字 注释 标识符 关键字 标识符注意点 数据类型 强类型语言 弱类型语言 Java的数据类型 基本类型(primitive type) 数值类型 boolean类型 什么是字节 ...

  5. Java第二章 变量

    1.什么是变量? 存储数据的基本单位. 2.数据类型分为: 基本类型和引用数据 3.基本数据类型和引用数据类型的区别: 基础数据:不同的变量会分配不同的存储空间,改变一个变量不会影响另一个变量 引用数 ...

  6. Javascript权威指南——第二章词法结构,第三章类型、值和变量,第四章表达式和运算符,第五章语句

    第二章 词法结构 一.HTML并不区分大小写(尽管XHTML区分大小写),而javascript区分大小写:在HTML中,这些标签和属性名可以使用大写也可以使用小写,而在javascript中必须小写 ...

  7. javaSE练习1——变量和运算符

    一.已知a,b均是整型变量,写出将a,b两个变量中的值互换的程序.(知识点:变量和运算符综合应用): package com.test; public class t01 { public stati ...

  8. C++ Primer 笔记(2)第二章 变量与基本类型

    第二章 变量与基本类型 1.基本内置类型包括算术类型和空类型,算术类型分为两类:整型(包括字符和布尔类型)和浮点型: 2.布尔类型(bool)的取值是真(true)或者假(false): 3.字面值常 ...

  9. “全栈2019”Java第二章:安装JDK11(Windows)

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 文章原文链接 "全栈2019"Java第二章:安装JDK11(Windows) 下一 ...

随机推荐

  1. 关于git的使用

    一.关于GIT Git --- The stupid content tracker, 傻瓜内容跟踪器.Linus Torvalds 是这样给我们介绍 Git 的.   Git 是用于 Linux内核 ...

  2. ACM-ICPC(10/21)

    写一发后缀数组套路题,看起来简单,写起来要人命哦~~~ 总共13题. 分两天debug吧,有点累了~~~ suffix(后缀数组的应用) sa[i] :排名第 i 的后缀在哪(i 从 1 开始) ra ...

  3. [学习笔记] numpy次成分分析和PCA降维

    存个代码,以后参考. numpy次成分分析和PCA降维 SVD分解做次成分分析 原图: 次成分复原图: 代码: import numpy as np from numpy import linalg ...

  4. 随机森林算法-Deep Dive

    0-写在前面 随机森林,指的是利用多棵树对样本进行训练并预测的一种分类器.该分类器最早由Leo Breiman和Adele Cutler提出.简单来说,是一种bagging的思想,采用bootstra ...

  5. 如何从GitHub获取源代码

    如何从GitHub获取源代码 github是当前流行的开源项目托管网站,里面有成千上万的项目值得学习和借鉴,可以把项目源代码下载到本地研究.本文介绍如何获取github的源代码. 方法1 - 克隆(C ...

  6. 基础算法之Dijkstra最短路径

    核心思想:以起始原点为中心,想外层扩展,知道扩展到重点为止. 设到A点的最短路径上,A点前驱节点为B,则该路径包含到达节点B的最短路径. S集合代表已经探索过的节点,U集合表示未探索过的节点. 时间复 ...

  7. JS JavaScript闭包和作用域

    JavaScript高级程序设计中对闭包的定义:闭包是指有权访问另外一个函数作用域中变量的函数. 从概念上,闭包有两个特点: 1.函数 2.能访问另外一个函数的作用域中的变量 在ES6之前,JavaS ...

  8. Restframework的认证,权限,节流

    1.认证 流程:请求到达REST framework的时候,会对request进行二次封装,在封装的过程中会对客户端发送过来的request封装进认证,选择,解析等功能.request方法封装完成之后 ...

  9. Java虚拟机垃圾回收:基础点(转载)

    1.Java虚拟机垃圾回收 垃圾回收,或称垃圾收集(Garbage Collection,GC)是指自动管理回收不再被引用的内存数据. 在1960年诞生于MIT的Lisp语言首次使用了动态内存分配和垃 ...

  10. Knowledge Point 20180305 数据在计算机中的表示

    计算机发明的初衷就是用于帮助我们加工和处理数据,虽然时至今天计算机看起来无所不能,但它根本上还是在做数据的加工和处理,数据的机器层次表示将直接影响到计算机的结构和性能. 在计算机中,采用数字化方式来表 ...