java基础之数据类型/基本运算符

概述
  java语言从1995年sun公司推出发展至今已经有22个年头,现在已经是使用最多的语言之一了。java又是一个比较容易入门的语言,我第一门接触的语言就是java。java发展。java的核心就是面向对象编程,其中多态、继承、封装来体现java的面向对象编程思想,还有java中的集合、流、反射等等。今天我会从最基础的数据类型和基本运算符开始说起:虽然说java的底层是由c去实现的,不过java和c还是有很多的不同也可以相互调用也就是JNI,我们会在以后去说去。

数据类型
在java中的数据类型分基本数据类型和引用数据类型

基本数据类型分为四类八种:

    整数型:byte,short、int、long  
    浮点型:float、double
    字符型:char
    布尔型:boolean

  下面就细致的说一下每个类型的区边。
  整数型:包含所有整数。
    byte:    1字节    取值范围是-128~127(0也算是正数之一)
    short:   2字节    -2^15~2^15-1
    int:       4字节    -2^31~2^31-1(常用)
    long:    8字节    -2^63~2^63-1
  浮点型:包含所有小数.
    float:     4字节    -3.403E38~3.403E38(常用)
    double:   8字节    -1.798E308~1.798E308
  字符型:
    char     4字节    0~65535
  布尔型:
    boolean    1字节    理论上是占八分之一个字节,因为一个开关就可以决定是true和false了,但是java中boolean类型没有明确指定他的大

  一般在代码中我们对数据会进行赋值为变量和常量来使用,其中java的变量是什么我们用三个问题去描述。
    A:什么是变量
      在程序执行的过程中,在某个范围内其值可以发生改变的量
    B:变量的定义格式
      数据类型 变量名 = 变量值;
    C:为什么要定义变量
      用来不断的存放同一类型的常量,并可以重复使用
    在C问题中提出了常量这一概念,那么什么是常量呢,常量在java中被定义为其值被第一次赋值后就不可被改变的量,我们称之为常量。
      定义格式是:public static final 数据类型 常量名 = 常量值;
    注意:
      1.变量/常量 名必须是一个有效的标识符;
      2.变量/常量 名不可使用java中的关键字;
      3.变量/常量 名不可重复;
      4.应选择有意义的单词作为 变量/常量 名;

  数据类型的转换:数据类型的转换分为隐式转换和强制转换  
  隐式转换:Java中的默认转换规则,取值范围小的数据类型与取值范围大的数据类型进行运算,会先将小的数据类型提升为大的,再运算.

  强制转换:当所占字节较多的数据类型赋值给所占类型较少的的数据类型时,因为会丢失精度所以java会提示编写者进行一次强制的类型转换.转换个格式为:
    b = (byte)(a + b);
  注意如果超出了被赋值的数据类型的取值范围得到的结果会与你期望的结果不同;会丢失超出范围的字节。

    byte b1 = 3;
    byte b2 = 4;
    byte b3 = b1 + b2;
      * b1和b2是两个变量,变量里面存储的值都是变化的,所以在程序运行中JVM是无法判断里面具体的值
      * byte类型的变量在进行运算的时候,会自动类型提升为int类型
    这里涉及了二进制的运算我会单独开一篇文章起解释;

  引用数据类型:class(类),interface(接口),array(数组);
    在这里我不会,不过我会在后面去详细解释引用数据类型,会在说面向对象时候去说.

基本运算符:
  java中的运算符分为了:算数运算符,赋值运算符,比较(关系)运算符,逻辑运算符,位运算符,和三元运算符:

  算数运算符:+(加),-(减),*(乘),/(除),%(取余),++(自增),--(自减)
    其中"+","-"也可以作为数据的正负号,剩下加减乘除大家应该都经常使用的,取余和自增自减估计用的相对少一点.
    %:就是字面意思取到余数,比如7%4就是3,8%4就是0
    ++:自加。对原有的数据进行+1,不过这里要注意的是++的位子如果是在数据的后面是代表参与运算完成后自增一,如果是在数据的前面,就是会在自增后去参与运算;
    --:自减。对原有的数据进行-1,同自增一样.

    例:
      int x,y,z;
      x = 2;
      y = x++;
      z = ++x;
      System.out.println("y = " + y +" , z = " + z);
      输出结果:y = 2 , z = 4

  赋值运算符:=,+=,-=,*=,/=,%=
    =:并不像数学中一样的将左边的值赋给右边,而是将右边的值赋值给左边.
    +=:将左边的数据与右边的数据进行相加后再赋值给左边的数据;
    -=:将左边的数据与右边的数据进行相减后再赋值给左边的数据;
    *=:将左边的数据与右边的数据进行相乘后再赋值给左边的数据;
    /=:将左边的数据与右边的数据进行相除后再赋值给左边的数据;
    %=:将左边的数据与右边的数据进行取余后再赋值给左边的数据;

  比较(关系)运算符:>,<,==,>=,<=,!=
    >:比较左方是否大于右方;
    <:比较左方是否小于右方;
    ==:比较左右是否相等;
    >=:比较左方是否大于等于右方;
    <=:比较左方是否小于等于右方;
    !=:比较左方是否不等于右方;
    注意:
      其中除了"=="与"!="可以比较所有基本数据类型和引用数据类型外,剩下的只可以比较整型,浮点型,字符型;
      比较运算符返回值皆为boolean类型

  逻辑运算符:&(与),&&,|(或),||,!(非),^(异或)
    &:有false则false。
    |:有true则true。
    ^:相同为false,不同为true。
    !:非false则true,非true则false。
    特点:偶数个不改变本身
    注意:
      逻辑运算符操作数据必须是boolean型.

  位运算符:&,|,^,~ ,>>,>>>,<<
    &:有0则0
    |:有1则1
    ^:相同则0,不同则1
    ~:按位取反
    <<:左移 左边最高位丢弃,右边补齐0
    >>:右移 最高位是0,左边补齐0;最高为是1,左边补齐1
    >>>:无符号右移 无论最高位是0还是1,左边补齐0
    注意:
      位运算符操作的是底层的二进制所以也是最高效的运算方式,我会单独写一篇文章去叙说二进制运算和位运算符的使用方式和场景.

  三元运算符:(关系表达式) ? 表达式1 : 表达式2;
    若关系表达式为true则会返回表达式1,相反是false会返回表达式2;
    注意:
      简单的逻辑判断使用三元运算符更加简洁,较复杂的逻辑则建议使用if...else语句替代,(简单说明两者区边,三元运算符发生了运算符的赋值动作,也就是有运算的,而if语句则没有运算结果,只有判断.)

  关于运算符的优先级:
    运算顺序:增量减量运算>算术运算>比较运算>逻辑运算>赋值运算
    特定符号运算顺序:
      1    ()          括号
      2   +,-         正负号
      3    ++,--,!      一元运算
      4   *,/,%        乘除
      5   +,-         加减
      6    >>,>>>,<<      位运算
      7    <,>,<=,>=       比较大小
      8   ==,!=         比较是否相等
      9    &         位与运算
      10   ^         位异或运算
      11    |         位或运算
      12   &&        逻辑与运算
      13   ||        逻辑或运算
      14    ?:       三元运算
      15    =        赋值运算

最后
第一次写博客,原来一直是记电子笔记,所以也不知道写是否全面严谨,要有不对或是不周全的地方欢迎指正.
ps:虽然我已经做好没人会看的准备了,毕竟是最基础的东西.不过我会慢慢把自己的笔记一点点的修改陆续发出来.

时间: 2024-10-21 20:49:07

java基础之数据类型/基本运算符的相关文章

java基础 02 数据类型、运算符、分支结构

内容: (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类型在内

Java基础----基本数据类型包装类

基本数据类型包装类 基本数据类型     引用数据类型 byte             Byte short            Short int              Integer long             long float            Float char             Character boolean          Boolean double           Double 基本数据类型包装类最常见的作用 就是用于基本数据类型和字符串类

java基础-引用数据类型之数组(Array)

java基础-引用数据类型之数组(Array) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 原文地址:https://www.cnblogs.com/yinzhengjie/p/8719728.html

java基础(2)--运算符详解

java基础(2)--运算符详解 自增自减规则 自增自减就是常用的 a = a++ 或者 a = ++a;前者是后缀式,先把a赋值给a,再加一:后者是后缀式,先加一,在赋值给a;而且a++,++a并不是原子操作,在当线程环境下并不会出错,当放在多线程下时,就会出现数据错误的问题. public class Test01 { private static int a = 0; private static int b = 0; private static AtomicInteger atomic

第二节课、Java的基本数据类型与运算符

一.Java的基本数据类型 (1).基本数据类型概述 |- 数据类型,在计算机中对于数据的存储有一定的规范. |- 什么样的数据就需要什么样的数据容器来装载. |- 在Java中:基本数据类型不是面向对象设计的标准,但是它保留下来是为了,迎合一些基本的数值及特殊状态(如,布尔类型)的表示形式来操纵数据的处理方式. (2).数据类型的分类及介绍 |- 整型(整数类型) |- byte |- short |- int(在表示整数的时候,如果没有明确定义int.或其他的3种时,系统将自定义以int类型

小白——java基础之数据类型

PS:此文章为小白提供,大佬请绕道!!!! 首先特别感谢大才哥给我提供这个平台,未来我希望把java这个版块的内容补全. 今天要讲的是数据类型,最最最基础的内容~ java标识符.数据类型.关键字 开始我们先看下如何注释java代码. 标识符:类名,方法名,变量. 有三种方式分别为 //表示注释一行代码 /* 表示注释一行或者多行代码 (从上面到下面都是注释的代码) */ 下面还有一种注释方式叫做文档注释. /** 通常这样表示 */ 文档注释一般写在代码开头用来简述你所做程序的具体内容,在这之

Java基础总结--变量、运算符总结

---变量基本概述----变量作用:就是用来存储数据变量的声明:变量类型 变量名;变量类型---区分不同类型的数据,变量名--按名访问变量变量名(规则):见名识意,第一个字母小写后面驼峰规则变量的作用域:所在方法内/所在局部代码块内变量初始化:一般情况都要进行初始化(成员变量JVM会进行默认初始化)---变量的分类---(java由于JVM存在跨平台,所以各种数据类型的数据占的存储空间不变)1.基础数据类型整型:byte-1B short-2B char-2B int-4B long-8B布尔型

java基础(3):变量、运算符

1. 变量 1.1 变量概述 前面我们已经学习了常量,接下来我们要学习变量.在Java中变量的应用比常量的应用要多很多.所以变量也是尤为重要的知识点! 什么是变量?变量是一个内存中的小盒子(小容器),容器是什么?生活中也有很多容器,例如水杯是容器,用来装载水:你家里的大衣柜是容器,用来装载衣裤:饭盒是容器,用来装载饭菜.那么变量是装载什么的呢?答案是数据!结论:变量是内存中装载数据的小盒子,你只能用它来存数据和取数据. 1.2 计算机存储单元 变量是内存中的小容器,用来存储数据.那么计算机内存是

Java 标识符、数据类型、运算符

一.标识符 1.组成 首字母(字母,下划线,﹩)+其余部分(数字,字母,下划线,﹩) 2.命名规范 ①由大小写字母.下划线.数字.﹩ ②数字不能开头 ③标识符长度没有限制 ④标识符不能是关键字和保留字 ⑤标识符命名最好能反映出其作用 ⑥java语言对字母的大小写有严格要求 ⑦所有自定义标识符都要遵循规范 3.数据类型 基本数据类型:整型(byte,short,int,long).浮点型(float,double).字符型(char).布尔型(boolean) 二.数据类型转换 1.自动转换:由低