day02_数据类型转换、运算符、方法入门

数据类型

基本数据类型

四类八种

  • 整数型 (取值范围)

    • byte(-128~127) short(-32768~32767) int(一般默认)(-21亿~21亿) long( )
  • 浮点型
    • float double(一般默认)
  • 布尔型
    • char
  • 字符型
    • boolean

1. 数据类型转换

  • long(大)--> int(小),不是从小到大有可能发生数据丢失
  • 当数据类型不一样时,将会发生数据类型转换。

1.1 自动转换(隐式)

  • 特点:代码不需要进行特殊处理,自动完成。
  • 规则:数据范围从小到大。

1.2 强制类型转换

  • 特点:代码需要进行特殊处理,不能自动完成。
  • 格式:范围小的类型 范围小的变量名 = (分为小的类型 ) 原本范围大的数据;

1.3 注意事项

  1. 强制类型转换一般不推荐使用,因为可能发生精度损失,数据溢出.
  2. byte/short/char 这三种类型都可以发生数学运算,例如加法"+".
  3. byte/short/char这三种类型在发生转换时,都会首先被提升为int类型,然后再继算.
  4. Boolean类型不能发生数据类型转换.

1.4 ASCII编码表

数字和字符的对照关系表(编码表):

  1. ASCII码表:American Standard Code for Information Interchange,美国信息交换标准代码.
  2. Unicode码表:万国码.也是数字和符号的对照关系,开头是0-127部分完全和ASCII一样,但是从28开始包含更多字符.
  3. 常用:48- '0' ,65 -'A' 97- 'a'.

1.5 算术运算符

  1. 运算符:进行特定操作的符号,例如 :" + "

  2. 表达式:用运算符号连起来的式子叫做表达式.例如 20 + 3. a + b

  3. 四则运算:加 + 减 - 乘 * 除 / . 取模(取余数): %

    • 首先计算得到表达式的结果,然后打印结果
    • 被除数 / 除数 = 商........余数

注意事项:

  1. 对于一个表达式来说,除法用的是整数,整数除以整数,结果仍是整数.
  2. 取模运算才有余数的意义
  3. 一旦运算当中有不同数据类型的数据,那么结果将会是数据范围大的那种.

1.6 加号的多种用法

常见的三种用法

  1. 对于数值来说就是加法。

  2. 对于字符char类型来说,在计算之前,char类型会被提升为int,然后在计算。

    char类型字符,和int类型数字,之间的对照关系表:ASCII、Unicode

  3. 对于字符串Strong(首字母大写,并不是关键字)来说。加号代表字符串的连接操作。

    任何数据类型和字符串进行连接的时候,都会变成字符串。

1.7 自增自减运算符

自增运算符:++

自减运算符:--

基本含义:让一个变量涨数字1,或者让一个数字减数字1

使用格式:写在变量名之前,或者写在变量名之后例如 num++ num--

使用方法:

  1. 单独使用:不与其他任何人操作混合,自己独立成为一个步骤。
  2. 混合使用:和其他操作混合,例如与赋值混合。或者与打印操作混合等等。

使用区别:

  1. 在单独使用时没有任何区别。前++和后++一样
  2. 在混合使用时,有【重大区别】
    • 如果是【前++】,那么变量【立马+1】,然后拿着结果进行使用。【先加后用】
    • 如果是【后++】,那么首先使用变量本来的数值,【然后再让变量家1】。【先用后加】

注意事项:

​ 至有变量才能使用自增、自减运算符。常量不可以发生改变,所以不能使用。

1.8 赋值运算符

赋值运算符分为:

  1. 基本赋值运算符:就是一个符号“=”,代表将右侧的数据交给左边的变量。

    int a = 30;

  2. 复合赋值运算符

    1. += a += 3; 相当于 a = a + 3;
    2. -= b -=4; 相当于 b= b-4;
    3. = c =5; 相当于 c = c *5;
    4. /= d /=6; 相当于 d= d /6;
    5. %= e %=7; 相当于 e= e%7;

注意事项:

  1. 只有变量才能使用赋值运算,常量不能进行赋值。
  2. 复合赋值运算符其中隐含了一个强制类型转换。

1.9比较运算符

  • 大于: >
  • 小于: <
  • 大于等于: >=
  • 小于等于: <=
  • 相等: == 【两个等号连写才是相等,一个等号代表赋值 】
  • 不相等: !=

注意事项:

  1. 比较运算符的结果一定是一个boolean值,成立时true,不成立是false。

  2. 如果进行多次判断,不能连着写。

    数学当中的写法;例如:1<x <3

    在程序中【不允许】这种写法。

2.0 逻辑运算符

  • 与(并且) && 全部为true,才是true;否则就为false
  • 或 (或者) || 至少一个时true,就是true;全部都是false,才是false
  • 非(取反) ! 本来就是true,变成false;本来是false,变成true

与“&&”,或“||”,具有短路效果:如果根据左边已经可以判断得到在最终结果,那么右边的代码讲不再执行,节省一定的性能。

注意事项:

  1. 逻辑运算符中只能用boolean值
  2. 与、或需要左右各自有一个Boolean值,但是取反只要有唯一的一个Boolean值就可以。
  3. 与、或两种运算符,如果有多个条件,可以连续写。

两个条件:条件A && B

多个条件:条件A &&条件B && 条件C

TIPS:

对于1 < x <3的情况,应该拆成两个部分,然后使用与运算符连接起来:

int x = 2;

1 < x && x < 3

2.1 三元运算符

  • 一元运算符:只需要一个数据就可以操作的运算符。例如:取反!、自增++、自减--
  • 二元运算符:需要两个数据才可以操作的运算符。例如:加法+、减法-、赋值=
  • 三元运算符:需要三个数据才可以操作的运算符

格式:

数据类型 变量名称 = 条件判断 ? 表达式A : 表达式B;

流程:

首先判断条件是否成立:

​ 如果成立则为true,那么将表达式A的值赋值给左侧的变量;

​ 如果不成立则为false,那么将表达式B的值赋给左侧的变量;

二者选其一。

注意事项:

  1. 必须同时保证表达式A和表达式B都符合左侧数据类型的要求。
  2. 二元运算符的结果必需被使用。

2.3方法入门

定义一个方法的格式:

public static void 方法名称(){

​ 方法体

}

方法名称的命名规律和变量一样,使用小驼峰。

方法体:也就是大括号中可以包含任意条语句。

注意事项:

  1. 方法定义的先后顺序无所谓。
  2. 方法的定义不能产生嵌套包含的关系。
  3. 方法定义好了,以后不会执行的。如果想要执行,一定要进行方法的【调用】。

如何调用方法,格式:

方法名称();

2.6 编辑器常量优化

在给变量进行赋值的时候,如果右侧的表达式当中全部是变量,没有任何常量,

  • 那么编译器Javac将会直接将若干个常量表达式计算得到结果。
  • short result = 5 + 8;//等号右边全部都是常量,没有任何变量参
  • 与运算,编译之后,得到的。class字节码相当于【直接就是】
  • short result = 13;
  • 右侧的常量结果数值,没有超过左侧范围,所以正确
  • 这称为:“编译器的常量优化”。
  • 但是注意:一旦表达式中有变量参与,就不能进行这种优化。

day02_数据类型转换、运算符、方法入门的更多相关文章

  1. QVariant类及QVariant与自定义数据类型转换的方法

    这个类型相当于是Java里面的Object,它把绝大多数Qt提供的数据类型都封装起来,起到一个数据类型“擦除”的作用.比如我们的 table单元格可以是string,也可以是int,也可以是一个颜色值 ...

  2. JavaScript---js语法,数据类型及方法, 数组及方法,JSON对象及方法,日期Date及方法,正则及方法,数据类型转换,运算符, 控制流程(三元运算),函数(匿名函数,自调用函数)

    day46 一丶javascript介绍 JavaScript的基础分为三个       1.ECMAScript:JavaScript的语法标准.包括变量,表达式,运算符,函数,if语句,for语句 ...

  3. 数据类型转换&运算符

    基本数据类型注意事项 整型类型:long>int>short>byte java默认类型为int型 long a = 123 表示将int类型的数值赋给更大范围的long类型,当数据 ...

  4. QVariant与自定义数据类型转换的方法

      在使用VC.Delphi编写用户界面程序的时候,经常会把对象与控件的data域进行绑定,便于程序运行中读写提高效率.然而在Qt编程中怎么实现这个功能呢?比如将一个用户自定义的结构体与QComboB ...

  5. php踩过的那些坑(3) 数据类型转换

    一.前方有坑 php属于弱类型语言,不会强迫工程师在使用变量之前先声明变量类型,开发时爽了,但是也带来不少的坑.下面就举一个坑的例子: 例1: $str = ‘haodaquan'; echo ($s ...

  6. ECMAScript1.1 js书写位置 | 声明变量 | 基本数据类型 | 数据类型转换 | 操作符 | 布尔类型的隐式转换

    js书写位置 由于在写css样式时使用的时双引号,所以我们在写js代码时建议使用单引号(‘’)! 行内式 <input type="button" value="点 ...

  7. Android深入理解JNI(二)类型转换、方法签名和JNIEnv

    相关文章 Android深入理解JNI系列 前言 上一篇文章介绍了JNI的基本原理和注册,这一篇接着带领大家来学习JNI的数据类型转换.方法签名和JNIEnv. 1.数据类型的转换 首先给出上一篇文章 ...

  8. C#常用处理数据类型转换、数据源转换、数制转换、编码转换相关的扩展

    public static class ConvertExtensions { #region 数据类型转换扩展方法 /// <summary> /// object 转换成string ...

  9. 02-Java基础语法【数据类型转换、运算符、方法入门】

    重点知识记录 01.数据类型转换 当数据类型不一样是,将会发生数据类型转换. 1)自动类型转换(隐式): 特点:代码不需要进行特殊处理,自动完成: 规则:数据范围从小到大:byte < shor ...

随机推荐

  1. Spring Boot 嵌入式Web容器

    目录 前言 1.起源 2.容器启动流程解析 2.1.获取应用类型 2.2.容器启动流程 3.加载 Web 容器工厂 4.总结 前言         最近在学习Spring Boot相关的课程,过程中以 ...

  2. 在Spring Boot中使用Docker在测试中进行高级功能测试

    最近又学到了很多新知识,感谢优锐课老师细致地讲解,这篇博客记录下自己所学所想. 想更多地了解Spring Boot项目中的功能测试吗?这篇文章带你了解有关在测试中使用Docker容器的更多信息. 本文 ...

  3. 深入学习CSS中如何使用定位

    CSS中定位介绍 position属性在英文单词中表示位置的意思,在CSS中主要作用设置元素的定位. CSS中一共有3种定位如下: 属性值 描述 fixed 设置固定定位. relative 设置相对 ...

  4. 你确定你了解什么是linux系统?

    1.什么是linux发行版 就Linux的本质来说,它只是操作系统的核心,负责控制硬件.管理文件系统.程序进程等,并不给用户提供各种工具和应用软件.所谓工欲善其事,被必先利其器,一套在优秀的操作系统核 ...

  5. (二)Django模板的应用

    一.配置项目的基础模板,分三部分 base.html 基础部分,需要包括基本的HTML标签 header部分 body部分 html闭合标签 {% load staticfiles %} <!D ...

  6. Tomcat黑窗口中对于中文乱码问题的解决

    存在的问题: 如标题,下图所示,启动tomcat时黑窗口中中文乱码,影响查看程序打印信息 解决方案: tomcat安装/解压目录中,conf 文件夹下 logging.properties 文件中,代 ...

  7. Python保存时提示“SyntaxError: Non-ASCII character '\xe8' in file”

    原因 Python 默认的是ASCII 编码方式,如果出现中文会出现问题,所哟必须在代码的第二行或第一行 显示的声明编码方式(已注释的方式,即"#"开始) 解决方法 在文件头部加上 ...

  8. TensorFlow——批量归一化操作

    批量归一化 在对神经网络的优化方法中,有一种使用十分广泛的方法——批量归一化,使得神经网络的识别准确度得到了极大的提升. 在网络的前向计算过程中,当输出的数据不再同一分布时,可能会使得loss的值非常 ...

  9. React Hooks 实现和由来以及解决的问题

    与React类组件相比,React函数式组件究竟有何不同? 一般的回答都是: 类组件比函数式组件多了更多的特性,比如 state,那如果有 Hooks 之后呢? 函数组件性能比类组件好,但是在现代浏览 ...

  10. 如何获取scrimba内部(内联框架)中网页地址?

    看图:  将其在新窗口打开  方法一:按下F12 键 (打开 开发者工具) ,再照图中箭头用鼠标点击所示, 图中粗红下划线为该页面的URL 地址, 复制在新窗口打开即可 方法二:利用JS代码手动获取 ...