A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 Joe0428 于 2018-8-9 15:35 编辑
  • 第一章 基本数据类型转换
Java程序总要求参与的计算的数据,必须要保证数据类型的一致性,如果数据类型不一致将发生类型的转换
  • 1.1自动转换
将取值范围小的类型,自动提升为取值范围大的类型例如 byte --> int ; float --> double ; int -->double ;
[AppleScript] 纯文本查看 复制代码
byte b = 2; 
double d = 3;

ps:默认的整数常量为int类型
  • 自动转换的规则:byte、short、char -->int -->long -->float --> double

  • 1.2强制转换
[AppleScript] 纯文本查看 复制代码
int i = 1.5; //报错

double类型内存8个字节,int类型内存4个字节。1.5是double类型,取值范围大于int。
比喻:8升的水壶的水直接放进4升的水壶,那么有可能小水壶就会满水溢出。
想要赋值成功,只有通过强制类型转换,将double类型强制换成int类型才能赋值。
强制类型转换:将取值范围大的类型转换ch成小类型。(自动:Java自动执行的;强制:需要我们自己手动执行)
转换格式:数据类型   变量名   = (数据类型)被转换数据值;
[AppleScript] 纯文本查看 复制代码
int  i  =  (int)1.5;

ps: 。浮点转换成整数,直接取消小数点,可能造成数据损失精度
      。int 强制转成short砍掉2个字节,可能造成数据丢失。
建议:除非做测试,要不然别用强制类型转换。


  • 1.3ASCII(American Standard Code for information Interchage)编码表
在计算机的内部都是二进制的0、1数据,如何让计算机直接识别人类文字的问题呢?就产生出了编码表的概念。
  • 编码表:就是将人类的文字和一个十进制数进行对应起来组成一张表格。
字符
数值
0
48
957
A65
Z90
a 97
z 122
ps:只记住这几个字符就够用了,但稍微注意下大写字母与小写字母中间是还有其他字符的,别被出题者带入坑里。

2.第二章  运算符
  • 2.1算数运算符
算数运算符包括
+ 加法运算,字符串连接运算
- 减法运算
* 乘法运算
/除法运算
%取模运算,两个数字相处取余数
++、-- 自增自减运算

ps:整数使用以上运算符,无论怎么计算,也不会得到小数
  • ++运算,变量自己增长1.反之,--运算,变量自减减少1,用法与++一致
    。独立运算:
       <>变量在独立运算是,前++和后++没有区别
       <>变量前++:++i;
       <>变量后++:i++;
    。混合运算:
        <>和其他变量放在一起,前++和后++就产生了不同
        <>变量前++: 自己先加1,后赋值;
        <>变量后++:自己先赋值,后++;
ps:例题 int i = 1 ; int j = 1;
             j = ++i + i++ + --i;
    问  输出 i = ?
         输出 j = ?
   (我差点被坑的选择题,自己用工具测试下 ,或者在下方评论看得到答案输出 i =2, j = 7;
  • 2.2赋值运算符
赋值运算符包括
=等于号
+=加等于
-=减等于
*=乘等于
/=除等于
%=取模等于

  • 赋值运算符,就是将符号右边的值,赋给左边的变量
[AppleScript] 纯文本查看 复制代码
int i = 5;
i += 5;

ps: 赋值运算符注意点
[AppleScript] 纯文本查看 复制代码
@Test
    public void test07() {
        byte b = 1;
        //b = b + 3; 报错
        b += 3; //通过 因为 b += 3 --> b =(byte)(b + 3);
        System.out.println(b);
    }

  • 2.3比较运算符
比较运算符包括
==比较符号两边数据是否相等,相等结果是true
<比较符号左边的数据是否小于右边的数据,如果小于结果是true
>比较是否符号左边的数据是否大于右边的数据,如果大于结果是true
<= 比较符号左边的数据是否小于或者等于右边的数据,如果小于结果是true
>= 比较符号左边的数据是否大于或者等于右边的数据,如果小于结果是true
!=数据不等于符号,如果符号两边的数据不相等,结果是true;



  • 2.5逻辑运算符
逻辑运算符包括
&&  短路与 1. 两边都是true,结果是true   2. 一边是false,结果是false   短路特点:符号左边是false,右边不再运算
||  短路或 1. 两边都是false,结果是false   2. 一边是true,结果是true   短路特点: 符号左边是true,右边不再运算
!   取反 1. ! true 结果是false 2. ! false结果是true

ps:面试问题: 说出 & 和 && 或者 | 和 ||的区别
     回答:就是短路的特点,然后再举个例子


  • 三元运算符

   格式: 数据类型  变量名  = 布尔类型表达式? 结果1 :结果2
   题目:运用三元运算符,求出三个数字的最大值
   (自己编写或者下方评论@Test
    public void test06() {
        int a = 5;
        int b = 7;
        int c = 3;
        int temp = a > b ? a : b;
        int max = temp > c ? temp : c;
        System.out.println(max);
})
谢谢, 今天就到这。。。。

2 个回复

倒序浏览
小白试试水
回复 使用道具 举报
小白来试试水,请多指教!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马