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 定时+多线程执行

    Spring Boot 定时任务有多种实现方式,我在一个微型项目中通过注解方式执行定时任务. 具体执行的任务,通过多线程方式执行,单线程执行需要1小时的任务,多线程下5分钟就完成了. 执行效率提升10 ...

  2. 【题解】CF1142B Lynyrd Skynyrd(倍增)

    [题解]CF1142B Lynyrd Skynyrd(倍增) 调了一个小时原来是读入读反了.... 求子段是否存在一个排列的子序列的套路是把给定排列看做置换,然后让给定的序列乘上这个置换,问题就转化为 ...

  3. 洛谷$P2153\ [SDOI2009]$ 晨跑 网络流

    正解:网络流 解题报告: 传送门$QwQ$ 题目好长昂,,,大概概括下$QwQ$.就说有$n$个节点$m$条边,然后要求每次走的路径都不一样,问最多能走多少次,然后在次数最多的前提下问路径最短是多少$ ...

  4. UI自动化和selenium相关以及八大定位

    一.UI自动化相关 1. UI自动化的本质(重点) 定位元素→操作元素→模拟页面操作→断言→测试报告 2. 适合UI自动化的场景 UI自动化的前提条件 (1)需求不能频繁变动 (2)UI稳定(UI自动 ...

  5. 12款好用的Visual Studio插件,最后一款良心推荐

    目录 01 CodeMaid 02 Markdown Editor 03 ReSharper 04 GitHub Extension for Visual Studio 05 ZenCoding 06 ...

  6. Class 'org.apache.tomcat.jdbc.pool.DataSource' not found

    把项目移动到新的运行环境时,明明包都导入了,项目也放进tomcat里面了,但是还会找不到该类 解决方法:项目右键选择底下的Properties ->project facets ->jav ...

  7. 2018湘潭邀请赛 AFK题解 其他待补...

    A.HDU6276:Easy h-index Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/O ...

  8. Math&Random&ThreadLocalRandom类

    Math类 //绝对值值运算: Math.abs(18.999); //返回19.999这个数的绝对值 Math.abs(-12.58); // 返回-12.58这个数的绝对值,为12.58 //取值 ...

  9. 【转】面向GC的Java编程

    Java程序员在编码过程中通常不需要考虑内存问题,JVM经过高度优化的GC机制大部分情况下都能够很好地处理堆(Heap)的清理问题.以至于许多Java程序员认为,我只需要关心何时创建对象,而回收对象, ...

  10. Java爬虫一键爬取结果并保存为Excel

    Java爬虫一键爬取结果并保存为Excel 将爬取结果保存为一个Excel表格 官方没有给出导出Excel 的教程 这里我就发一个导出为Excel的教程 导包 因为个人爱好 我喜欢用Gradle所以这 ...