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. 关于Oracle RAC节点间免密码策略

    在RAC安装过程中无论grid或是Oracle软件都需要配置节点间免密码策略.配置方法网上有很多,oracle和可以帮你配置,此处不多说. 但是在RAC运行过程中是不需要免密码登陆的,所以在集群安装完 ...

  2. Opencv4android的Android Studio环境配置及项目实例下载

    因为软件竞赛的项目会用到Opencv for Android,所以就研究了一下如何在Android Studio上配置Opencv4Android 环境概述: Android Studio 2.3 O ...

  3. 如何在SAP CRM里创建和消费Web service

    Created by Wang, Jerry, last modified on Dec 19, 2014 The following steps demonstrates how to expose ...

  4. 【转载】#458 Errors While Converting Between enum and Underlying Type

    You can convert to an enum value from its underlying type by casting the underlying type (e.g. int) ...

  5. JQuery datatables 标题和内容居中显示

    1.如题,使用到了强大的表格插件datatables,要使标题和内容都居中显示,只需要在jsp引入css,写上如下内容即可: /*qiulinhe:2016年11月7日13:48:26*/ /* da ...

  6. 【LOJ6062】「2017 山东一轮集训 Day2」Pair(线段树套路题)

    点此看题面 大致题意: 给出一个长度为\(n\)的数列\(a\)和一个长度为\(m\)的数列\(b\),求\(a\)有多少个长度为\(m\)的子串与\(b\)匹配.数列匹配指存在一种方案使两个数列中的 ...

  7. 创建一个dynamics 365 CRM online plugin (十二) - Asynchronous Plugins

    这篇是plugin的终结. 通过之前的11期我们应该发现了plugin其实学习起来不难. async plugin 是把plugin的功能async run起来. e.g.  我们之前做过的preOp ...

  8. EJB JPQL语句查询

    JPQL就是一种查询语言,具有与SQL 相类似的特征,JPQL是完全面向对象的,具备继承.多态和关联等特性,和hibernate HQL很相似.   查询语句的参数 JPQL语句支持两种方式的参数定义 ...

  9. Entity Framework 二

    本篇主要介绍:创建了实体数据模型,生成了那些文件以及其代表意义 创建实体数据模型 上一篇的最后,我们创建了数据库,现在我们利用数据库来生成我们的实体数据模型,这种形式我们称为数据库优先,后面会介绍代码 ...

  10. RPC的应用(The lowest layer of RPC)

    server端代码: #include <stdio.h>#include <rpc/rpc.h>#include <rpcsvc/rusers.h> void n ...