02.01 关键字的概述和使用

关键字概述:被Java语言赋予特定含义的单词

关键字特点:组成关键字的字母全部小写

关键字注意事项:goto和const作为保留字存在,目前并不使用,类似Notepad++这样的高级记事本,针对关键字有特殊的颜色标记,非常直观

保留字:在JDK的新版本中可能提升为关键字

02.02 标识符的概述和组成规则

标识符概述:就是给类,接口,方法,变量等起名字时使用的字符序列

组成规则:英文大小写字母、数字字符、$和_

注意事项:

1.不能以数字开头

2.不能是Java中的关键字

3.严格区分大小写

02.03 标识符中常见的命名规则

常见命名规则要求:见名知意

包:全部小写,多级包时用.隔开

类或者接口:一个单词时首字母大写,多个单词时每个单词的首字母大写

方法和变量:一个单词时首字母小写,多个单词时从第二个单词开始每个首字母大写

常量:全部大写,多个单词用_隔开

02.04注释概述及其分类

注释概述:用于解释说明程序的文字

Java中注释分类格式

单行注释:格式: //  注释文字

多行注释:格式: /*  注释文字  */

文档注释:格式:/** 注释文字  */

1.对于单行和多行注释,被注释的文字,不会被JVM(java虚拟机)解释执行。

2.对于文档注释,是java特有的注释,其中注释内容可以被JDK提供的工具 javadoc 所解析,生成一套以网页文件形式体现的该程序的说明文档。

02.05 HelloWorld案例加入注释版

例:

 /*
需求:写一个程序,在控制台输出HelloWorld
分析:
1.写一个java程序,首先定义类。
2.程序要想能够被jvm调用,必须定义main方法。
3.程序要想有输出结果,必须用输出语句。 实现:
1.定义类用的是class关键字,后面跟的是类名
2.main方法基本格式:public static void main(String[] args)
3.输出语句基本格式:System.out.println("helloworld"); */
//helloworld案例
class Demo
{
//main方法
public static void main(String[] args)
{
//输出语句
System.out.println("helloworld");
}
}

02.06 注释的作用

1.解释说明程序,提高程序的阅读性

2.可以帮助我们调试程序

02.07 常量的概述和使用

常量概述:在程序执行的过程中其值不可以发生改变

Java中常量分类:字面值常量和自定义常量

字面值常量:

1.字符串常量:用双引号括起来的内容  例: "helloworld"

2.整数常量:  所有整数  例:12,23

3.小数常量:  所有小数  例:12.34,56.78

4.字符常量:  用单引号括起来的内容  例: 'a'、'A'、'0'

5.布尔常量:  只有true和false两个值

6.空常量:null

02.08 进制概述以及二进制,八进制,十六进制

Java针对整数常量提供了4种表现形式:二进制、八进制、十进制、十六进制

进制概述:进制就是进位制,是人们规定的一种进位方法。

对于任何一种进制--X进制,就表示某一位置上的数运算时是逢X进一位。

二进制就是逢二进一,八进制是逢八进一,十进制是逢十进一,十六进制是逢十六进一。

换算:

1byte(字节) = 8 bit(二进制位)

1K = 1024byte

规律,进制越大,表现形式越短。

02.09 不同进制数据的表现形式

二进制:0、1,满2进1,用0b开头表示

八进制:0~7,满8进1,用0开头表示

十进制:0~9,满10进1,整数默认是十进制的

十六进制:0~9、A~F,满16进1,用0x开头表示

任何数据在计算机中都是以二进制的形式存在的

02.10 任意进制到十进制的转换

二进制:110      转为十进制:1*22 + 1*21 + 1*20 = 6

八进制:110      转为十进制:1*82 + 1*81 + 1*80 = 72

十六进制:110    转为十进制:1*162 + 1*161 + 1*160 = 272

02.11 任意进制到十进制的练习

0b10101   转为十进制:1*24 + 0*23 + 1*22 + 0*21 + 1*20 = 21

0123      转为十进制:1*82 + 2*81 + 3*80 = 83

0x3C      转为十进制:3*161 + 12*160 = 60

02.12 十进制到任意进制的转换    

十进制:56  转为二进制:

56 / 2 = 28...0

28 / 2 = 14...0

14 / 2 = 7 ...0

 7 / 2 = 3 ...1

 3 / 2 = 1 ...1

 1 / 2 = 0 ...1

将余数从下到上组合,即0b 111000

十进制:56  转为八进制:

56 / 8 = 7...0

7 / 8 = 0...7

将余数从下到上组合,即0 70

十进制:56  转为十六进制:

56 / 16 = 3...8

 3 / 16 = 0...3

将余数从下到上组合,即0x 38

02.13 十进制到任意进制的练习

将十进制的52分别转为二进制、八进制、十六进制

十进制:52  转为二进制:0b 110100

52 / 2 = 26...0

26 / 2 = 13...0

13 / 2 = 6 ...1

 6 / 2 = 3 ...0

 3 / 2 = 1 ...1

 1 / 2 = 0 ...1

 

十进制:52  转为八进制:0 64

52 / 8 = 6...4

6 / 8 = 0...6

 

十进制:52  转为十六进制:0x 34

52 / 16 = 3...4

 3 / 16 = 0...3

02.14 快速的进制转换法 

十进制和二进制的快速转换

8421码:

1    1    1    1    1    1    1    1

128  64   32   16   8    4    2    1

例:

100转成二进制:0b 01100100

101101转成十进制:32+8+4+1 = 45

二进制和八进制,十六进制转换

1.以十进制作为桥梁

2.二进制转八进制:二进制转八进制从低位到高位每三位一组,不足高位补零

例:100100=(100)(100)=0 44

3.二进制转十六进制:二进制转十六进制从低位到高位每四位一组,不足高位补零

例:100100=(0010)(0100)=0x 24

02.15 原码反码补码

有符号数据表示法:在计算机内,有符号数有3种表示法:原码、反码和补码。

所有数据的运算都是采用补码进行的。

原码:就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。

反码:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。

补码:正数的补码与其原码相同;负数的补码是在其反码的末位加1。

例:

7的原码:0 0000111

7的反码:0 0000111

7的补码:0 0000111

 

-7的原码:1 0000111

-7的反码:1 1111000(在原码的基础上除符号位按位取反)

-7的补码:1 1111001(反码末位加1)

02.16 原码反码补码的练习

已知某数的原码为10110100,求其补码和反码

原码:1 0110100

反码:1 1001011

补码:1 1001100

已知某数的补码为11101110,求其原码

补码:1 1101110

反码:1 1101101(补码末位减1)

原码:1 0010010(按位取反) 

02.17 变量的概述及格式 

变量概述:在程序执行的过程中,其值在某个范围内可以发生改变的量

变量定义格式:数据类型变量名 = 初始化值;

02.18 数据类型的概述和分类

Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间

 

02.19 定义不同数据类型的变量

例:

 //定义一个字节变量
byte b = 10; //定义一个短整型变量
short s = 100; //定义一个整型变量
int i = 1000; //定义一个长整型变量,后缀加l或L标记
long l = 1000000000000L; //定义一个浮点变量,单精度浮点数后缀加f或F标记
float f = 12.34F; //定义字符变量
char ch = 'a'; //定义布尔变量
boolean flag = true;

02.20 使用变量的注意事项

使用变量注意事项:

作用域:变量定义在哪一级大括号中,哪个大括号的范围就是这个变量的作用域。相同的作用域中不能定义两个同名变量。

初始化值:没有初始化值不能直接使用

在一行上建议只定义一个变量,可以定义多个,但是不建议 

02.21 数据类型转换之默认转换

boolean类型不能转换为其他的数据类型

默认转换:byte,short,char→int→long→float→double

byte,short,char相互之间不转换,他们参与运算首先转换为int类型

02.22 不同数据类型变量参与运算解释

例:

 byte a = 3;
int b = 4;
byte c = a + b;//错误
int d = a + b; //正确

解释:byte类型的数据参与运算会被默认提升为int 型,a + b的结果为int型,不能赋值给byte型的c

02.23 数据类型转换之强制转换

强制转换

目标类型变量名=(目标类型)(被转换的数据);

例:

 byte a = 3;
int b = 4;
byte c = (byte)(a + b);

上条语句表示将a + b的结果int型的前三个字节抛弃,保留最后一个字节赋给c

02.24 强制转换的思考题

1.下面的赋值有没有问题

double d = 12.345;

float f = d;

答:有问题,不能将double类型的d赋给float型的f。

需强制转换:float f = (float)d;

2.下面的定义有没有区别?

float f1 = (float)12.345;

float f2 = 12.345F;

答:有区别,f1是通过double类型强转到float类型。而f2本身就是float类型。

02.25 变量相加和常量相加的区别面试题

byte b1 = 3,b2 = 4,b;

b = b1 + b2;//编译失败,变量,先将类型提升,b1+b2的结果为int型

b = 3 + 4;  //正确,常量,先计算结果,看是否在byte范围内,在就不报错

02.26 强制转换数据溢出后的结果计算

byte b = 130;有没有问题?如果想让赋值正确该怎么做?结果是多少?

答:有问题,130超出byte范围,可以使用强制转换byte b = (byte)130;

结果:

int型130原码:00000000 00000000 00000000 10000010

int型130补码:00000000 00000000 00000000 10000010

强制转换后丢弃高三位结果为: 10000010

补码:1 0000010

反码:1 0000001

原码:1 1111110→结果为十进制-126

02.27 字符数据参与运算

System.out.println('a'); //a

System.out.println('a'+1); //98,字符a参与运算时使用的是ASCII码表中对应的97 

02.28 字符串参与运算

System.out.println('a'+1+"hello"); //98hello

System.out.println("hello"+'a'+1); //helloa1

System.out.println("5+5="+5+5); //5+5=55

System.out.println(5+5+"=5+5"); //10=5+5 

JavaSE学习总结第02天_Java基础语法1的更多相关文章

  1. JavaSE学习总结第03天_Java基础语法2

      03.01 数据类型中补充的几个小问题 1:在定义Long或者Float类型变量的时候,要加L或者f.   整数默认是int类型,浮点数默认是double.   byte,short在定义的时候, ...

  2. JavaSE学习总结第04天_Java基础语法3

      04.01 选择结构switch语句的格式及其解释 switch语句的格式: switch(表达式) {    case 值1:语句体1;break;    case 值2:语句体2;break; ...

  3. JavaSE学习笔记(2)---面向对象基础

    JavaSE学习笔记(2)---面向对象基础 1.面向对象具有三大特征:封装性.继承性和多态性,而面向过程没有继承性和多态性,并且面向过程的封装只是封装功能,而面向对象可以封装数据和功能.所以面向对象 ...

  4. web前端学习python之第一章_基础语法(二)

    web前端学习python之第一章_基础语法(二) 前言:最近新做了一个管理系统,前端已经基本完成, 但是后端人手不足没人给我写接口,自力更生丰衣足食, 所以决定自学python自己给自己写接口哈哈哈 ...

  5. web前端学习python之第一章_基础语法(一)

    web前端学习python之第一章_基础语法(一) 前言:最近新做了一个管理系统,前端已经基本完成, 但是后端人手不足没人给我写接口,自力更生丰衣足食, 所以决定自学python自己给自己写接口哈哈哈 ...

  6. Python学习笔记(Ⅰ)——Python程序结构与基础语法

    作为微软的粉丝,最后终于向Python低头了,拖了两三个月终于下定决心学习Python了.不过由于之前受到C/C#等语言影响的思维定式,前期有些东西理解起来还是很费了些功夫的. 零.先抄书: 1.Py ...

  7. go 学习笔记之值得特别关注的基础语法有哪些

    在上篇文章中,我们动手亲自编写了第一个 Go 语言版本的 Hello World,并且认识了 Go 语言中有意思的变量和不安分的常量. 相信通过上篇文章的斐波那契数列,你已经初步掌握了 Go 语言的变 ...

  8. JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)

    Java基础语法(变量.常量.数据类型.运算符与数据类型转换) 1.变量 Java中.用户能够通过指定数据类型和标识符来声明变量.其基本的语法为: DataType identifier; 或 Dat ...

  9. 02:Java基础语法(一)

    Java基础语法 Java的关键字及保留字 关键字(Keyword) 关键字的定义和特点定义:被Java语言赋予了特殊含义的单词特点:关键字中所有字母都为小写注意事项:1)true.false.nul ...

随机推荐

  1. .net mvc笔记3_Understanding Razor Syntax

    Understanding Razor Syntax MVC3新视图引擎的名字叫做Razor.ASP.NET视图引擎处理web页面,寻找包含在服务器端指令的特殊元素.正如我们前面已经提到的,标准的AS ...

  2. ora-01653: unable to extend table sys.aud$ by 8192 in tablespac system[转载]

    在用sqlplus user/password@truth登录数据库时报如下错误:ORA-00604: error occurred at recursive SQL level 1ORA-01653 ...

  3. .NET(C#):觉察XML反序列化中的未知节点

    原文 www.cnblogs.com/mgen/archive/2011/12/12/2284554.html 众所周知XML是可以扩展的,XML的元素可以靠名称识别而不是只按照未知识别.在 XML反 ...

  4. 树型动态规划(树形dp)

    树型动态规划就是在“树”的数据结构上的动态规划,树型动态规划是建立在树上的,所以有二个方向: 1.根—>叶:这种题目基本上碰不到 2.叶->根:根的子节点传递有用的信息给根,完后根得出最优 ...

  5. java.lang.RuntimeException: Unable to start activity ComponentInfo

    异常:java.lang.RuntimeException: Unable to start activity ComponentInfo{com.william/com.william.Result ...

  6. JavaEE Tutorials (12) - 创建和使用基于字符串的Criteria查询

    12.1基于字符串的Criteria API查询概述17812.2创建基于字符串的查询17812.3执行基于字符串的查询179

  7. linux 在终端中打开图形化文件管理器

    虽然终端十分强大,但在少数使用终端的时候,会突然需要图形化文件管理器的帮忙. 命令: xdg-open "dir" 例如 xdg-open ./ 用图形化文件管理器打开当前文件夹 ...

  8. HDU 4464 Browsing History(最大ASCII的和)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4464 Problem Description One day when you are going t ...

  9. c语言中-----分配内存函数

    原型: void * realloc(void *p, size_t  size); realloc 可以对给定的指针所指的空间进行扩大 或者 缩小, 原有内存的数据保持不变.当然,对于缩小,则缩小部 ...

  10. 文件上传功能 -- jquery.form.js/springmvc

    距离上一篇 文件上传下载样式 -- bootstrap(http://www.cnblogs.com/thomascui/p/5370947.html)已经三周时间了,期间一直考虑怎么样给大家提交一篇 ...