命名规范

(变量命名、常量命名、方法命名乃至以后使用开发框架的配置文件命名,都可使用驼峰命名法)

①类的命名:首字母大写,单词语单词之间首字母大写。如:StudentId(学生ID号)、MaxValue(最大值)。

②变量的命名:第一个首字母小写,其他单词首字母大写。如:identityCard firstName getName。

③常量命名:一个活多个单词组成,所有字母大写。

④方法的命名:第一个首字母小写,其他单词首字母大写,如setName( )、getName( )。

数据类型

上一章也提到过,基本数据类型如下表

本章讲讲各数据类型间转换(重点)

1)自动类型转换

①当把存储范围小的值(常量值、变量的值、表达式计算的结果值)赋值给了存储范围大的变量时,

byte->short->int->long->float->double

char->

int signA = 'a';   //char自动升级为int double signB = 20;   //20属于int类型,该例中int自动升级为double

②当存储范围小的数据类型与存储范围大的数据类型一起混合运算时,会按照其中最大的类型运算

int signA= 1;byte signB = 1; double signC = 1.0;double sum = signA + signB + signC;   //混合运算,升级为存储范围大的变量double

③当byte,short,char数据类型进行算术运算时,按照int类型处理

byte b1 = 1; byte b2 = 2; byte b3 = (byte)(b1 + b2);   //b1 + b2首先升级为int,进行加的操作,再强转成bytechar c1 = '0'; char c2 = 'A'; System.out.println(c1 + c2);    //113

2)强制类型转换

①当把存储范围大的值(常量值、变量的值、表达式计算的结果值)赋值给了存储范围小的变量时,需要强制类型转换

double->float->long->int->short->byte

->char

提示:强转有风险,可能会损失精度或溢出

②当某个值想要提升数据类型时,也可以使用强制类型转换

int i = 1; int j = 2; double shang = (double)i/j;

提示:这个情况的强制类型转换是没有风险的。

代码示例 A:

public class DataDemo2 {    public static void main(String[] args) {        /**         *  int a=1.5; 编译失败,无法赋值         */        int i = (int)1.5;        double d=2.5;        //int类型和double类型运算,结果是double类型        //int类型会提升为double类型        double e = d + i;        System.out.println(e);    }}

代码示例B:

public class DataDemo3 {    public static void main(String[] args) {        short s = 1;        /**         *  s = s + 1 会出现编译失败         *         *  原因:         *      s 和 1 做运算的时候,1 是 int 类型,s 会被提升为 int 类型         *      s+1 后的结果是 int 类型,将结果在赋值会 short 类型时发生错误         *      short 内存2个字节,int 类型4个字节         *      必须将 int 强制转成 short 才能完成赋值         */        s= (short) (s+1);        System.out.println(s);    }}

3)特殊的数据类型转换

任意数据类型的数据与String类型进行“+”运算时,结果一定是String类型

System.out.println("" + 1 + 2);    //12

但是String类型不能通过强制类型()转换,转为其他的类型

String str = "123"; int num = (int)str;    //这是错误的

4)“+=”符号扩展范例

示例代码 A:

public class DataDemo4 {    public static void main(String[] args) {        short s = 1;        s += 1;        System.out.println(s);    }}

分析:

​ s += 1 逻辑上看作是 s = s + 1 计算结果被提升为int类型,再向short类型赋值时发生错误,因为不能将 取值范围大的类型赋值到取值范围小的类型。但是, s=s+1进行两次运算 , += 是一个运算符,只运算 一次,并带有强制转换的特点,也就是说 s += 1 就是 s = (short)(s + 1) ,因此程序没有问题编译通过, 运行结果是2.

示例代码 B:

public class DataDemo5 {    public static void main(String[] args) {        byte b1=1;        byte b2=2;        byte b3=1+2;        //byte b4 = b1 + b2;  编译失败        System.out.println(b3);    }}

分析:

​ b3 = 1 + 2 ,1 和 2 是常量,为固定不变的数据,在编译的时候(编译器javac),已经确定了 1+2 的 结果并没有超过byte类型的取值范围,可以赋值给变量 b3 ,因此 b3=1 + 2 是正确的。

​ 反之, b4 = b2 + b3 , b2 和 b3 是变量,变量的值是可能变化的,在编译的时候,编译器javac不确定 b2+b3的结果是什么,因此会将结果以int类型进行处理,所以int类型不能赋值给byte类型,因此编译失 败。

数据类型的转换,简而言之,记住两句话:

1.程序中的整数默认都是int型,即在方法调用直接传入的一个具体的整数值,默认情况下是int型。

2.值域小的的类型可以自动转化为值域大的。值域大的不能直接转化为值域小的,但是确认无风险的情况下,可以通过强制转化实现。

重中之重:学习的动力,在于美图

dsp 数据类型强制转换_JavaSE第二章总结—数据类型相关推荐

  1. python如何强制转换数据类型_python数据类型强制转换实例详解

    如果是字符串进行强制转换, 仅仅就是在原数据类型的两边套上引号 2.list : 强制转换成列表""" 如果是字符串,会把每一个字符都单独作为一个元素放到新的列表中 如果 ...

  2. C语言(苏小红)——第二章基本数据类型

    C语言程序设计 第二章基本数据类型 文章目录 C语言程序设计 2.1 常量与变量 2.1.1 常量 (Constant) 2.1.2 变量(Variable) 2.2 简单屏幕输出 2.3 计算变量或 ...

  3. python如何强制转换数据类型,python数据类型强制转换的方法

    python数据类型强制转换的方法 发布时间:2020-06-22 16:43:25 来源:亿速云 阅读:101 作者:清晨 这篇文章将为大家详细讲解有关python数据类型强制转换案例,小编觉得挺实 ...

  4. Java第二章:数据类型和运算符

    今天刚上课,杨老师讲了进制之间的相互转换:16进制:1,2,3,4,5,6,7,8,9,A,B,C,D,E,F.已经掌握,就一笔带过! 十进制整数,如:99, -500, 0 八进制整数,要求以 0 ...

  5. js数据类型强制转换--转换为String

    强制类型转换 -指的是将一个数据类型转换为其他数据类型     -类型转换主要是指,将其他的数据类型,转换为             String   Number Boolean 将其他数据转换为S ...

  6. JAVA 数据类型强制转换详解

    JAVA 数据类型转换(强制类型转换) 强制类型转换 将 取值范围大的类型 强制转换成 取值范围小的类型 特点 : 代码需要进行特殊的格式处理, 不能自动完成 转换格式 // 范围小的类型 范围小的变 ...

  7. Java中数据类型 + 强制转换

    数据类型有: 数据类型 字节数 默认值   包装类 案例 byte   1字节   0 Byte byte b =10; short  2字节  0 Short short s=10; int 4字节 ...

  8. java2实用教程--第二章基本数据类型与数组

    基本数据类型--浮点类型 public class Example2_1 {public static void main (String args[]) {char chinaWord = '好', ...

  9. 第二章 变量 数据类型 运算符

    一. 1.Java常用数据类型 整型   int    int i=1; 双精度浮点型   double   double  n=1.0; 字符型   char   char   g='女'; 字符串 ...

最新文章

  1. shell awk实战
  2. Datawhale厦门大学分享记录!
  3. JAVA wait(), notify(),sleep具体解释
  4. 使用Pycharm创建一个Django项目
  5. DataTables中给某列添加样式
  6. 通过计算机二级考试的计划,如何轻松通过国家计算机二级考试
  7. SCCM 2007 R2部署、操作详解系列之部署篇
  8. 董明珠炮轰国产车的创始人不开自己生产的车,事实果真如此吗?
  9. 使用logminer分析日志文件
  10. Xamarin组件包 Xamarin.ToolKit
  11. 【代码笔记】iOS-播放从网络上下载的语音
  12. java之代理设计模式
  13. AKKA HTTP 简单示例
  14. 毕业设计之时钟模块设计DS1302
  15. python qq群聊机器人_群聊太多?三步教你用 Python 自动监听转发群消息
  16. C++ 侯捷系列视频汇总
  17. Android程序反破解技术
  18. 开发者的拯救者还是掘墓人?解密低代码开发平台
  19. 简述计算机主板的主要品牌,(品牌管理)计算机主板品牌介绍(9页)-原创力文档...
  20. Campus Talking 小记(3)

热门文章

  1. 本地开发好的 SAP Fiori Elements 应用,如何部署到 ABAP 服务器上?
  2. 在StackBlitz上进行rxjs编程练习
  3. rxjs of操作符生成的Observable对象的执行详细分析
  4. Angular应用里的Template Reference变量
  5. Reuse library debug in Chrome - phase2 handle success response (2)
  6. why in GM0 the extAddTo Controller is not loaded
  7. Mock server的实现 - run Fiori application using mock data in offline mode
  8. sales organization mapping logic debug
  9. Text determination debug
  10. github image标签转markdown工具源代码