Java基础笔记02

02.01_Java语言基础(常量的概述和使用)

  • A:什么是常量

    • 在程序执行的过程中其值不可以发生改变
  • B:Java中常量的分类

    • 字面值常量
    • 自定义常量(面向对象部分讲)
  • C:字面值常量的分类

    • 字符串常量 用双引号括起来的内容
    • 整数常量 所有整数
    • 小数常量 所有小数
    • 字符常量 用单引号括起来的内容,里面只能放单个数字,单个字母或单个符号
    • 布尔常量 较为特殊,只有true和false
    • 空常量 null(数组部分讲解)
  • D:案例演示

    • 用输出语句输出各种常量。null不演示

02.02_Java语言基础(进制概述和二,八,十六进制图解)

  • A:什么是进制

    • 进制:就是进位制,是人们规定的一种进位方法。 对于任何一种进制--X进制,就表示某一位置上的数运算时是逢X进一位。二进制就是逢二进一,八进制是逢八进一,十进制是逢十进一,十六进制是逢十六进一。
    • 例如一周有七天,七进制,一年有十二个月,十二进制
  • B:二进制的由来

    • 其实二进制来源与中国,请看史料记载
    • 18世纪德国数理哲学大师莱布尼兹从他的传教士朋友鲍威特寄给他的拉丁文译本《易经》中,读到了八卦的组成结构,惊奇地发现其基本素数(0)(1),即《易经》的阴爻yao- -和__阳爻,其进位制就是二进制,并认为这是世界上数学进制中最先进的。20世纪被称作第三次科技革命的重要标志之一的计算机的发明与应用,其运算模式正是二进制。它不但证明了莱布尼兹的原理是正确的,同时也证明了《易经》数理学是很了不起的。
  • C:八进制的由来

    • 任何数据在计算机中都是以二进制的形式存在的。二进制早期由电信号开关演变而来。一个整数在内存中一样也是二进制的,但是使用一大串的1或者0组成的数值进行使用很麻烦。
    • 所以就想把一大串缩短点,将二进制中的三位用一位表示。这三位可以取到的最大值就是7.超过7就进位了,这就是八进制。
  • D:十六进制的由来

    • 但是对于过长的二进制变成八进制还是较长,所以出现的用4个二进制位表示一位的情况,四个二进制位最大是15,这就是十六进制。
  • E:不同进制表现同一个数据的形式特点

    • 进制越大,表现形式越短

02.03_Java语言基础(不同进制数据的表现形式)

  • A:二进制的数据表现形式
    • 由0,1组成。以0b(b可以大写也可以小写)开头(JDK1.7版本可以表示二进制了)
  • B:八进制的数据表现形式
    • 由0,1,…7组成。以0开头
  • C:十进制的数据表现形式
    • 由0,1,…9组成。整数默认是十进制的
  • D:十六进制的数据表现形式
    • 由0,1,…9,a,b,c,d,e,f(大小写均可)。以0x开头
  • E:案例演示
    • 输出不同进制表现100的数据。
    • 0b100
    • 0100
    • 100
    • 0x100

02.04_Java语言基础(任意进制到十进制的转换图解)

  • A:任意进制到十进制的转换原理
    • 系数:就是每一位上的数据。
    • 基数:X进制,基数就是X。
    • 权:在右边,从0开始编号,对应位上的编号即为该位的权。
    • 结果:把系数*基数的权次幂相加即可。
  • B:画图练习
    • 二进制--十进制
    • 八进制--十进制
    • 十六进制--十进制

02.05_Java语言基础(十进制到任意进制的转换图解)

  • A:十进制到任意进制的转换原理
    • 除积倒取余
  • B:画图练习
    • 十进制--二进制
    • 十进制--八进制
    • 十进制--十六进制

02.06_Java语言基础(快速的进制转换法)

  • A:8421码及特点
    • 8421码是中国大陆的叫法,8421码是BCD代码中最常用的一种。在这种编码方式中每一位二值代码的1都是代表一个固定数值,把每一位的1代表的十进制数加起来,得到的结果就是它所代表的十进制数码。
  • B:通过8421码的方式进行二进制和十进制的相互转换
  • C:二进制到八进制的简易方式
  • D:二进制到十六进制的简易方式

02.07_Java语言基础(原码反码补码)

  • A:为什么要讲解有符号数据表示法
    • 后面学习数据类型的时候,要学习强制类型转换,如果不知道有原反补会看不懂结果
  • B:有符号数据表示法的几种方式
    • 原码
      • 就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。
      • 通过一个字节,也就是8个二进制位表示+7和-7
      • 0(符号位) 0000111
      • 1(符号位) 0000111
    • 反码
      • 正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
    • 补码
      • 正数的补码与其原码相同;负数的补码是在其反码的末位加1。

02.08_Java语言基础(原码反码补码的练习)

  • A:已知原码求补码
    • 0b10110100
  • B:已知补码求原码
    • 0b11101110

02.09_Java语言基础(变量的概述及格式)

  • A:什么是变量
    • 在程序执行的过程中,在某个范围内其值可以发生改变的量
  • B:变量的定义格式
    • 数据类型 变量名 = 变量值;
  • C:为什么要定义变量
    • 用来不断的存放同一类型的常量,并可以重复使用

02.10_Java语言基础(数据类型的概述和分类)

  • A:为什么有数据类型
    • Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存总分配了不同大小的内存空间
  • B:Java中数据类型的分类
    • 基本数据类型
    • 引用数据类型
      • 面向对象部分讲解
  • C:基本数据类型分类(4类8种)
    • 整数型
      • byte,short,int,long
    • 浮点型
      • float,double
    • 字符型
      • char
    • 布尔型
      • boolean

02.11_Java语言基础(定义不同数据类型的变量)

  • A:案例演示
    • 定义不同基本数据类型的变量,并输出
    • 赋值时候注意float类型,long类型

02.12_Java语言基础(使用变量的注意事项)

  • A:案例演示
    • a:作用域问题
      • 同一个区域不能使用相同的变量名
    • b:初始化值问题
      • 局部变量在使用之前必须赋值
    • c:一条语句可以定义几个变量
      • int a,b,c...;

02.13_Java语言基础(数据类型转换之隐式转换)

  • A:案例演示
    • a:int + int
    • b:byte + int 的结果分别用byte和int类型接收,看效果
  • B:Java中的默认转换规则
  • C:画图解释byte+int类型的问题

02.14_Java语言基础(数据类型转换之强制转换)

  • A:强制转换问题
    • int a = 10;
    • byte b = 20;
    • b = a + b;
  • B:强制转换的格式
    • b = (byte)(a + b);
  • C:强制转换的注意事项
    • 如果超出了被赋值的数据类型的取值范围得到的结果会与你期望的结果不同

02.15_Java语言基础(面试题之变量相加和常量相加的区别)

  • A:案例演示
    • 面试题:看下面的程序是否有问题,如果有问题,请指出并说明理由。
    • byte b1 = 3;
    • byte b2 = 4;
    • byte b3 = b1 + b2;
      • 从两方面去回答这个题
      • b1和b2是两个变量,变量里面存储的值都是变化的,所以在程序运行中JVM是无法判断里面具体的值
      • byte类型的变量在进行运算的时候,会自动类型提升为int类型
    • byte b4 = 3 + 4;
      • 3和4都是常量,java有常量优化机制,就是在编译的的时候直接把3和4的结果赋值给b4了

02.16_Java语言基础(long与float的取值范围谁大谁小)

  • 进行混合运算的时候,byte,short,char不会相互转换,都会自动类型提升为int类型,其他类型进行混合运算的是小的数据类型提升为大的
    • byte,short,char -- int -- long -- float -- double

    • long: 8个字节

    • float:4个字节

    • IEEE754

    • 4个字节是32个二进制位

    • 1位是符号位

    • 8位是指数位

    • 00000000 11111111

    • 0到255

    • 1到254

    • -126到127

    • 23位是尾数位

    • 每个指数位减去127

    • A:它们底层的存储结构不同。

    • B:float表示的数据范围比long的范围要大

      • long:2^63-1
      • float:3.410^38 > 210^38 > 28^38 = 22338 = 2*2^114 > 2^63-1

02.17_Java语言基础(字符和字符串参与运算)

  • A:案例演示
    • System.out.println('a');

    • System.out.println('a'+1);

    • 通过看结果知道'a'的值是多少,由此引出ASCII码表

  • B:ASCII码表的概述
    • 记住三个值:
      • '0' 48
      • 'A' 65
      • 'a' 97
  • C:案例演示
    • System.out.println("hello"+'a'+1);
    • System.out.println('a'+1+"hello");
  • D:+在有字符串参与中被称为字符串连接符
    • System.out.println("5+5="+5+5);
    • System.out.println(5+5+"=5+5");

02.18_Java语言基础(char数据类型)

  • A:char c = 97;
  • B:Java语言中的字符char可以存储一个中文汉字吗?为什么呢?
    • 可以。因为Java语言采用的是Unicode编码。Unicode编码中的每个字符占用两个字节。
    • 所以,Java中的字符可以存储一个中文汉字

02.19_Java语言基础(算术运算符的基本用法)

  • A:什么是运算符
  • B:运算符的分类
  • C:算数运算符有哪些
  • D:案例演示
    • 算数运算符的基本用法
  • 注意事项:
    • a:整数相除只能得到整数。如果想得到小数,必须把数据变化为浮点数类型
    • b:/获取的是除法操作的商,%获取的是除法操作的余数

02.20_Java语言基础(算术运算符++和--的用法)

  • A:++,--运算符的作用
    • 自加(++)自减(--)运算
    • ++:自加。对原有的数据进行+1
    • --:自减。对原有的数据进行-1
  • B:案例演示
    • a:单独使用:
      • 放在操作数的前面和后面效果一样。(这种用法是我们比较常见的)
    • b:参与运算使用:
      • 放在操作数的前面,先自增或者自减,然后再参与运算。
      • 放在操作数的后面,先参与运算,再自增或者自减。

02.21_Java语言基础(算术运算符++和--的练习)????

  • A:案例演示

    • 请分别计算出a,b,c的值?
    •   int a = 10;
        int b = 10;
        int c = 10;
      
        a = b++;        //a = 10 b = 11
        c = --a;            //c = 9 a = 9
        b = ++a;        //b = 10 a = 10
        a = c--;            //a = 9 c = 8
      
  • B:案例演示

    • 请分别计算出x,y的值?

        int x = 4;
        int y = (x++)+(++x)+(x*10);
      

02.22_Java语言基础(赋值运算符的基本用法)

  • A:赋值运算符有哪些

  • B:案例演示

    • 赋值运算符的基本用法
  • 注意事项:

    • a:基本的赋值运算符:=

      • 把=右边的数据赋值给左边。
    • b:扩展的赋值运算符:+=,-=,*=,/=,%=

      • += 把左边和右边做加法,然后赋值给左边。

02.23_Java语言基础(赋值运算符的面试题)

  • A:案例演示
    • 面试题:看下面的程序是否有问题,如果有问题,请指出并说明理由。
    • short s=1;s = s+1;
    • short s=1;s+=1;

02.24_Java语言基础(关系运算符的基本用法及其注意事项)

  • A:关系运算符有哪些
  • B:案例演示
    • 关系运算符的基本用法
  • 注意事项:
    • 无论你的操作是简单还是复杂,结果是boolean类型。

    • "=="不能写成"="。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,835评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,598评论 1 295
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,569评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,159评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,533评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,710评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,923评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,674评论 0 203
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,421评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,622评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,115评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,428评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,114评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,097评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,875评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,753评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,649评论 2 271

推荐阅读更多精彩内容

  • 常量的概述和使用 A:什么是常量在程序执行的过程中其值不可以发生改变 B:Java中常量的分类字面值常量自定义常量...
    野望君阅读 585评论 0 0
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,296评论 18 399
  • Win7下如何打开DOS控制台? a:开始--所有程序--附件--命令提示符 b:开始--搜索程序和文件--cmd...
    逍遥叹6阅读 1,564评论 4 12
  • 02.01_Java语言基础(常量的概述和使用)(掌握) A:什么是常量在程序执行的过程中其值不可以发生改变 B:...
    苦笑男神阅读 188评论 0 1
  • 「梅林与王子」 风吹过森绿茂密的枝头,毫不掩饰目的却又无人知晓地取下一片叶子,不问高树作何感想。在空中荡...
    王泽儒阅读 506评论 0 2