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. Linux ---> 监控JVM工具

    Linux ---> 监控JVM工具shkingshking 发布时间: 2013/10/10 01:27 阅读: 2642 收藏: 26 点赞: 1 评论: 0 JDK内置工具使用 jps(J ...

  2. xmemcached的time out

    最近维护线上发现不停有java.util.concurrent.TimeoutException: Timed out(200) waiting for operation的问题,排查程序.配置文件的 ...

  3. chrome extensions

        chrome web store   AppsGamesExtensionsThemes   CATEGORIES   All FEATURESClear   Runs Offline By ...

  4. 浅析Thinkphp框架中运用phprpc扩展模式

    浅析Thinkphp框架中应用phprpc扩展模式 这次的项目舍弃了原来使用Axis2做web服务端的 方案,改用phprpc实现,其一是服务端的thinkphp已集成有该模式接口,其二是phprpc ...

  5. CodeForces 22C System Administrator

    把v和2结点交换, 1和v连,其它点和v之间能够互相连. #include <iostream> #include <cstdlib> #include <cstring ...

  6. Android 支付宝钱包手势password裂纹战斗

    底 随着移动互联网和手机屏幕越做越大的普及等..购物在移动设备上.消费是必不可少的人们习惯于生活. 随着这股浪潮的兴起,安全.便捷的移动支付的需求也越来越大.故,各大互联网公司纷纷推出了移动支付平台. ...

  7. c++类的实例化,有没有new的区别

    A a; A * a = new a(); 以上两种方式皆可实现类的实例化,有new的区别在于: 1.前者在堆栈中分配内存,后者为动态内存分配,在一般应用中是没有什么区别的,但动态内存分配会使对象的可 ...

  8. 类中成员函数与数据成员private/pubic/protected

    类中成员函数与数据成员private/pubic/protected

  9. BZOJ 1005: [HNOI2008]明明的烦恼( 组合数学 + 高精度 )

    首先要知道一种prufer数列的东西...一个prufer数列和一颗树对应..然后树上一个点的度数-1是这个点在prufer数列中出现次数..这样就转成一个排列组合的问题了.算个可重集的排列数和组合数 ...

  10. CSS 文章段落样式

    #adiv p { text-align: left; text-indent: 2em; line-height:25px; font-family:微软雅黑; font-size:medium; ...