内容:
  (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. Java探索之旅(10)——数组线性表ArrayList和字符串生成器StringBuffer/StringBuilder

    1.数组线性表ArrayList 数组一旦定义则不可改变大小.ArrayList可以不限定个数的存储对象.添加,插入,删除,查找比较数组更加容易.可以直接使用引用类型变量名输出,相当于toString ...

  2. shell自动收集服务器硬件系统信息

    shell自动收集服务器硬件系统信息,插入数据库并通过web页面显示. 一,shell自动收集服务器硬件系统信息,插入数据库.#centos 7操作系统下 #!/bin/bash #auto get ...

  3. 向PCD文件写入点云数据

    博客转载自:http://www.pclcn.org/study/shownews.php?lang=cn&id=83 本小节我们学习如何向PCD文件写入点云数据. 代码 章例2文件夹中,打开 ...

  4. UCSC数据库数据调用cruzdb

    https://github.com/Wy2160640/cruzdb UCSC基因组数据库是注释,调节和变异以及越来越多的分类群的各种数据的重要资源. 该库旨在简化数据的利用,以便我们可以进行复杂的 ...

  5. PHP获取原生POST数据

    To get the Raw Post Data: <?php $postdata = file_get_contents("php://input"); ?> 参考官 ...

  6. js常用知识点汇总

    1.json字符串与json对象相互转化(转至:http://www.jb51.net/article/43136.htm) SON字符串: var str1 = '{ "name" ...

  7. 使用Log4j2,打包后提示ERROR StatusLogger Log4j2 could not find a logging implementation.

    从Log4j切换到Log4j2,没有打包之前日志输出正常,但是打包后总是提示下面内容: 错误一: ERROR StatusLogger Log4j2 could not find a logging ...

  8. Kolla Ocata版本安装及镜像制作流程

    1.关闭宿主机firewalldsystemctl disable firewalldsystemctl stop firewalld 2.配置selinux为disable,否则创建的实例网络不通临 ...

  9. 反射实现数据库增删改查DAO及DAOImpl源代码(一)

    这是DAO层,第一次尝试,如有bug希望能即使反馈,我们共同进步.具体的用法和实现原理我会在前面几篇博客中补充更新.配置文件及项目目录结构会在下一篇中贴出! package com.javasm.su ...

  10. [Xcode 实际操作]三、视图控制器-(6)UINavigationController导航栏样式

    目录:[Swift]Xcode实际操作 本文将演示对导航栏进行样式设置,以及更改导航顶部的提示区. 选择编辑第一个视图控制器文件. import UIKit class FirstSubViewCon ...