文档章节

数据类型转换(面试题)

Jusenr
 Jusenr
发布于 2016/05/17 00:23
字数 933
阅读 8
收藏 0
 

1
/* 2 面试题: 3 4 byte b1=3,b2=4,b; 5 b=b1+b2; 6 b=3+4; 7 那句是编译失败 的呢?为什莫尼? 8 9 遇到这样的题目主要看等号右边的表达式的形式,变量相加还是常量相加 10 11 */ 12 class VariableTest 13 { 14 public static void main(String[] args) 15 { 16 byte b1=3,b2=4,b,bb; 17 //b=b1+b2;错误 错误,可能损失精度 18 bb=(byte)(b1+b2); 19 /* 20 以上代码的步骤分析: 21 byte 有三个变量:b1 b2 b 22 等号是把b1+b2做加法操作(类型 比int类型小,变量在做加法的时候要找到最大数值类型,没有long、没有float、没有double)int类型 23 把操作后的结果int 类型给了(byte)类型,强制类型转换 24 25 26 */ 27 b=3+4;//正确 b=byte 7 28 /* 29 以上代码的步骤分析: 30 3是一个人常量,4是一个常量。常量加常量结果还是常量 31 注意: 32 在编译时就能决定程序是否错误。会把常量值判断在不在当前数据类型的范围内,会把当前的常量值看成我所属的类型 33 */ 34 System.out.println(bb); 35 System.out.println(b); 36 37 } 38 }


----------------------------------------------------------------------------------------------------

 1 /*
 2     掌握里面隐含的知识,面试考的较多
 3 
 4     System.out.println('a');
 5     System.out.println('a'+1);
 6     System.out.println("hello"+'a'+1);
 7     System.out.println('a'+1+"hello");
 8     System.out.println("5+5"+5+5);
 9     System.out.println(5+5+"=5+5");
10     
11     byte、short-->int
12     char
13 
14     注意:遇到字符串和任何类型做加法计算,结果一定变成字符串类型(做拼接)
15 
16 */
17 class  VariableDemo6
18 {
19     public static void main(String[] args) 
20     {
21         System.out.println('a');//看到的和得到的相同
22         System.out.println('a'+1);//隐藏了数据类型的自动提升转换  98
23         /*
24             我们输出内容的顺序和中国人阅读的顺序相同
25             从左向右进行输出将会依次按照以下步骤进行:
26                 1、"hello"+'a'="helloa"
27                 2、"helloa"+1="helloa1"
28         */
29         System.out.println("hello"+'a'+1);
30         //98hello
31         System.out.println('a'+1+"hello");
32         //5+5=55
33         System.out.println("5+5="+5+5);
34         //10=5+5
35         System.out.println(5+5+"=5+5");
36     }
37 }
----------------------------------------------------------------------------------------------------

 1 /*
 2     面试题
 3     short s=1,s=s+1;short s=1,s+=1;
 4     上面两个代码有没有问题,如果有,那里有问题
 5 
 6     byte-->        short-->    int-->    long-->    float-->    double
 7     最小        较小        标准值    较大    更大        最大
 8 
 9     扩展赋值运算符会帮你做强制转换
10 */
11 class  OperateText2
12 {
13     public static void main(String[] args) 
14     {
15         short s=1;
16         //s=s+1;//提升s为int 类型,等号右边int 是4字节(损失精度的问题)
17 
18         s+=1;//s=(short)(s+1);
19         System.out.println("s="+s);
20     }
21 }
----------------------------------------------------------------------------------------------------
 1 import java.util.Scanner;
 2 /*
 3         面试题版本1:
 4         int x = 2;
 5         int y = 3;
 6         switch(x){//x=2
 7             default:
 8                 y++;
 9                 break;
10             case 3:
11                 y++;
12             case 4:
13                 y++;
14         }
15         System.out.println("y="+y);
16 
17 
18 
19         面试题版本2:
20         int x = 2;
21         int y = 3;
22         switch(x){//x=2
23             default:
24                 y++;
25             case 3:
26                 y++;
27             case 4:
28                 y++;
29         }
30         System.out.println("y="+y);
31 */
32 class  SwitchTest
33 {
34     public static void main(String[] args) 
35     {
36         Scanner jianpan = new Scanner(System.in);
37 
38         //人机交互(软件界面)
39         System.out.println("请选择你的女神:");
40         System.out.println("A: 范冰冰");
41         System.out.println("B: 刘诗诗");
42         System.out.println("C: 苍老师");
43         System.out.println("D: 柳岩");
44         //char ch = jianpan.nextChar();//错误,找不到符号
45         int num = jianpan.nextInt();
46         char ch = (char)num;
47 
48         
49         //软件业务逻辑
50         switch(ch){//case是并列关系,先后顺序可以变化
51             case 'A':
52                 System.out.println("你选择的是:范冰冰");
53                 break;
54             case 'B':
55                 System.out.println("你选择的是:刘诗诗");
56                 break;
57             case 'C':
58                 System.out.println("你选择的是:苍老师");
59             break;
60             case 'D':
61                 System.out.println("你选择的是:柳岩");
62             break;
63 
64         }
65     }
66 }

 

 

© 著作权归作者所有

共有 人打赏支持
Jusenr
粉丝 0
博文 20
码字总数 10876
作品 0
西安
Android工程师
私信 提问
java基础学习篇02(数据类型转换和基本面试题)

JAVA基本数据类型转换 java中的数据类型,分为,引用数据类型和基本数据类型。基本数据类型有8中 整型:byte 8位 、 short 16位 、int 32位 .long 64位、 (8位=1个字节) 浮点型:float 32位 ...

Pong_Dong
2017/04/23
0
0
金融系统中正确的金额计算及存储方式

image 昨天微信群里在讨论金额计算及存储的话题,今天特来结贴一下。 经典的精度丢失问题 Java中的类型float、double用来做计算会有精度丢失问题,下面来看下面的示例。 上面的程序输出结果是...

架构之路
2017/12/01
0
0
经典面试题之“a==1 && a==2 && a==3 为true”解析

这是在国外的一道面试题看到的,大家先自己想一下,在什么情况下这个判断会成立? 按正常思维想,这个是不可能成立的,但,首先贴上正确答案代码 这里做判断时,首先会调用valueOf函数,数组...

李佳明同学
2018/03/22
0
0
一道C++面试题和补码、无符号数减法运算

面试题在文章第4节。在看面试题之前,可以先看一下1-3节的知识点。 1. 补码 Two's Complement(二补数、补码)是对的数学运算,运算过程为:对二进制序列每一位取反(0->1; 1->0),再加1。 ...

Aspirinrin
2017/11/24
0
0
提给程序员和开发者的 10 道 Java 泛型面试题

关于泛型的面试题在 Java面试中变得越来越常见,因为 Java 5问世已经有相当长的时间了,越来越多的应用已经迁移到Java 5上来了,并且几乎所有新的Java开发工作也都是在Tiger(Java 5的项目代号...

lwei
2013/10/18
13.2K
30

没有更多内容

加载失败,请刷新页面

加载更多

Spring Cloud搭建微服务架构----流量回放

前言 系统微服务化后,传统的自测/测试方式都变得比较困难: 依赖的服务可能不稳定。 服务无法提供期望的响应数据。 缺少场景构造标准。 随着整体业务越来越复杂,微服务依赖的越来越多,测试...

春哥大魔王的博客
34分钟前
3
0
记一次springboot模块配置问题导致读取Apollo配置中心配置文件始终错误的问题

现在正在做的一个项目采用的是微服务,主框架是spring cloud,配置中心用的是携程的Apollo。 项目下有多个服务,在测试服务器上启动用户服务的时候发现在eureka中心另一个服务被启动了,尝试...

zcqshine
35分钟前
6
0
流处理和批处理框架的异同

分布式流处理需求日益增加,包括支付交易、社交网络、物联网(IOT)、系统监控等。业界对流处理已经有几种适用的框架来解决,下面我们来比较各流处理框架的相同点以及区别。 分布式流处理是对...

hblt-j
38分钟前
4
0
spring cloud 面试题

什么是springboot 用来简化spring应用的初始搭建以及开发过程 使用特定的方式来进行配置(properties或yml文件) 创建独立的spring引用程序 main方法运行 嵌入的Tomcat 无需部署war文件 简化...

狼王黄师傅
40分钟前
4
0
前嗅ForeSpider教程:采集黄页88

以黄页88为例,采集当前列表页新闻的正文数据: 第一步:新建任务 ①点击左上角“加号”新建任务,如图1: 【图1】 ②在弹窗里填写采集地址,任务名称,如图2: 【图2】 ③点击下一步,选择进...

forespider
44分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部