内容:
  (1)数据类型
  (2)运算符
  (3)分支结构

1.数据类型

  java语言中的基本数据类型:byte、short、int、long、float、double、boolean、char。

1.1布尔类型

  在java语言中描述真假信息的类型有:boolean。

  该类型变量的数值只有两种:true(真)、false(假)。

  该类型在内存空间中的大小没有明确定义,通常认为是1个字节。

1.2字符类型

  在java语言中用于描述单个字符的数据类型有:char  如:'a'、'b'。

  其中char类型在内存空间中占2个字节大小,并且没有符号,因此范围是65535。

  该类型在以后的开发中很少使用,使用更多的是由多个字符组成的字符串,在java语言中用Sting类型来描述。

  对于字符'a'这样的图案无法存储到计算机中,因为计算机的底层只能识别0和1组成的二进制序列,

  如果需要将'a'储存起来则需要给该图案指定一个编号,将编号记录到计算机中,这种编号就叫做ASCII。

  常用的ASCII有:

        'A' - 65  'a' - 97  '0' - 48  空格 - 32  换行符 - 10

  转义字符:

      \" 代表 "    \' 代表 '    \\ 代表 \     \n 代表 换行符    \t 代表 制表符

1.3 基本数据类型之间的转换

  在Java语言中基本数据类型之间的转换方式有两种:

      自动类型转换:从小类型到大类型之间的转换

      强制类型转换:从大类型到小类型之间的转换

        语法格式: 目标类型  变量名  = (目标类型)源类型变量名  (不建议使用强制类型转换,可能会有损失)

2.运算符
2.1 算术运算符

  + 表示加法运算符   - 表示减法运算符   * 表示乘法运算符

  / 表示除法运算符   % 表示取模/取余运算符

  注意:

    (1)在java语言中两个整数相除的结果只取整数部分,丢弃小数部分。

    (2)如果希望计算结果保留小数部分,则需要进行如下处理:

      (a)让其中一个操作数强制转换为double类型即可。

      (b)让其中一个操作数乘以1.0提升到double类型再运算即可。(推荐使用此方法)

    (3)在java中0不能做除数,但是0.0可以做除数,结果是无穷。

    (4)+既可以当做算数运算符,也可以作为字符串连接符,具体区分方式如下:

       当+两边的操作数中只要有一个是字符串类型时,则按照字符串连接符对待。

2.2 关系/比较运算符

  > 表示是否大于运算符 >    = 表示是否大于等于运算符    < 表示是否小于运算符

  <= 表示是否小于等于运算符   == 表示是否等于运算符         != 表示是否不等于运算符

  所有关系运算符作为最终运算的表达式结果一定是boolean类型。

2.3 自增减运算符

  + 表示加法运算符  ++表示自增运算符  让变量自身的数值加1,覆盖原来的数值。

  -  表示减法运算符  - -表示自减运算符  让变量自身的数值减1,覆盖原来的数值。

  注意:

    (a)对于单个变量来说,++放在变量名的前面或后面带来的结果都是让变量自身+1的效果。

    (b)对于表达式来说,   ++a 表示先让a自身的数值+1,然后再作为表达式的结果。

                   a++ 表示先让a作为表达式的结果,然后再让啊自身的数值+1。

                   - -a 表示先让a自身的数值-1,然后再作为表达式的结果。

                   a- - 表示先让a作为表达式的结果,然后再让啊自身的数值-1。

2.4 逻辑运算符

  && 表示逻辑与运算符,相当于并且,同真为真,一假为假。

  ||    表示逻辑或运算符,相当于或者,一真为真,同假为假。

  !  表示逻辑非运算符,相当于取反,真为假,假为真。

2.4.1  & 和 && 的区别

  &运算符有两种用法:(1)按位与;(2)逻辑与。

  &&运算符是短路与运算。逻辑与跟短路与的差别是非常巨大的,虽然二者都要求运算符左右两端的布尔值都是true 整个表达式的值才是 true。

  &&之所以称为短路运算是因为,如果&&左边的表达式的值是 false,右边的表达式会被直接短路掉,不会进行运算。

  很多时候我们可能都需要用&&而不是&,例如在验证用户登录时判定用户名不是 null 而且不是空字符串,应当写为 username != null &&!username.equals(""),二者的顺序不能交换,

  更不能用&运算符,因为第一个条件如果不成立,根本不能进行字符串的 equals 比较,否则会产生 NullPointerException 异常。

  注意:逻辑或运算符(|)和短路或运算符(||)的差别也是如此。

  短路特性:

      对于逻辑与来说,若第一个操作数的结果为假,则整个表达式的结果一定为假,此时跳过第二个操作数的判断。

      对于逻辑或来说,若第一个操作数的结果为真,则整个表达式的结果一定为真,此时跳过第二个操作数的判断。

2.5 三目/条件运算符

  条件表达式?表达式1:表达式2

    (判断条件表达式是否成立,若成立执行表达式1,否则执行表达式2)

java 基础 02 数据类型、运算符、分支结构的更多相关文章

  1. java基础-02数据类型

    基本类型 整数 byte byte 数据类型是8位.有符号的,以二进制补码表示的整数 最小值是 -128(-2^7) 最大值是 127(2^7-1) 默认值是 0 byte 类型用在大型数组中节约空间 ...

  2. java基础02 数据类型转

    一.回答问题 float f1 = 6.66f; float f2 = (float) 6.67; f1==f2? /** * * @author sun * */ public class Demo ...

  3. java基础(数据类型,运算符)

    java基础之数据类型(变量) java中存在的数据有常量和变量 常量:在程序执行的过程中其值不可以发生改变 常量的分类 字面值常量 字面值常量的分类 常量 描述 字符串常量 用双引号括起来的内容 整 ...

  4. java基础-引用数据类型之一维数组(Array)

    java基础-引用数据类型之一维数组(Array) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.数组的定义 1>.为什么需要数组 保存一个数据可以定义一个变量,如果要保 ...

  5. Java基础-字符串连接运算符String link operator

    Java基础-字符串连接运算符String link operator 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 字符串链接运算符是通过“+”进行拼接的. 一.使用“+”进行字 ...

  6. Java基础语法(3)-运算符

    title: Java基础语法(3)-运算符 blog: CSDN data: Java学习路线及视频 1.算术运算符 算术运算符的注意问题 如果对负数取模,可以把模数负号忽略不记,如:5%-2=1. ...

  7. java基础-引用数据类型之二维数组(Array)

    java基础-引用数据类型之二维数组(Array) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 之前我们学习过了Java的一维数组,所谓的二维数组就是元素是一堆一维数组的数组,换 ...

  8. Java基础-引用数据类型之集合(Collection)

    Java基础-引用数据类型之集合(Collection) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.为什么出现集合类 面向对象语言对事物的体现都是以对象的形式,所以为了方便 ...

  9. java 基础 03 运算符 分支结构 循环结构

    今天内容: (1)运算符 (2)分支结构 (3)循环结构 1运算符 1.1赋值运算符 (1)简单赋值 = 表示赋值运算符,用于将=右边的数据赋值给=左边的变量来覆盖原来的数值. 笔试题: ia == ...

随机推荐

  1. HTable基本概念

    出处:http://www.taobaotest.com/blogs/1582 引言 团队中使用HBase的项目多了起来,对于业务人员而言,通常并不需要从头搭建.维护一套HBase的集群环境,对于其架 ...

  2. 在VM12中安装ubuntu系统下的VMTOOLS

    转载自http://www.jb51.net/article/97387.htm 一.下载Ubuntu镜像: Ubuntu官网下载地址 二.创建虚拟机 打开VMware Workstation,点击创 ...

  3. MapperScan的工作,Spring-Mybatis怎么自动getMapper

    @MapperScan @Import(MapperScannerRegistrar.class) @Repeatable(MapperScans.class) public @interface M ...

  4. HDU 5974 A Simple Math Problem (解方程)

    题意:给定a和b,求一组满足x+y=a && lcm(x, y)=b. 析:x+y = a, lcm(x, y) = b,=>x + y = a, x * y = b * k,其 ...

  5. TMF SID中的角色模式

    角色模式 Copyright © TeleManagement Forum 2013. All Rights Reserved. This document and translations of i ...

  6. Ubuntu下Apache2+Tomact7安装、配置及整合

    安装Apache2 命令:apt-get install apache2 cd  /etc/apache2 打开apache.conf 加入 ServerName localhostDirectory ...

  7. 51nod1007(01背包)

    题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1007 题意:中文题诶- 思路:尽量将一个数组分成两个相等的部 ...

  8. Winform下极简后台异步工作教程

    BackgroundWorker worker = new BackgroundWorker();//定义后台进程 worker.WorkerReportsProgress = true;//允许报告 ...

  9. 低价购买 dp

    题目描述 “低价购买”这条建议是在奶牛股票市场取得成功的一半规则.要想被认为是伟大的投资者,你必须遵循以下的问题建议:“低价购买:再低价购买”.每次你购买一支股票,你必须用低于你上次购买它的价格购买它 ...

  10. 牛客 PUBG

    题目链接:点击打开链接 题目大意:跑毒,跑到安全区,每个地方有敌人,输出路线经过的最少敌人的数量:-1是起点. -2是安全区 输入 5 6 6 0 -2 3 4 2 1 2 1 2 2 8 9 7 8 ...