java学习记录4 Java基础知识点

1. 注释

单行注释

使用“//”开头,后面是注释的内容

一般在要注释的语句的上面加注释

多行注释

以“/*”开头,以“*/”结尾

可以做行内注释

不可嵌套使用

文档注释

以“/**”开头,以“*/”结尾

用来给类和方法做注释,用以说明类的功能和作者等信息

包含一些说明行文字及一些JavaDoc标签,可以在写项目是生成项目的API

注意

注释不会出现在字节码文件中,即Java编译器编译时会跳过注释语句

2. 标识符规则-驼峰规则

定义

是用来给变量、类、方法以及包进行命名的

规则

必须以字母、下划线_、美元符$开头

其它部分可以是字母、下划线,美元符和数字的任意组合

大小敏感,长度无限制

不可以是Java的关键字

规范

给类起名,首字母要大写,如Man,GoodMan.

给方法和变量起名,第一个单词小写,从第二个单词开始首字母大写,遵从“驼峰原则”,如:eat(),eatFood().

Java采用Unicode标准国际字符集,因此变量名可以是英文的,也可以是中文的,但尽量不要用中文。

3. 变量

本质

本质上是一个“可操作的存储空间”,空间的位置是确定的,但是里面放置什么值是不确定的。我们可通过变量名来访问“对应的存储空间”,从而操纵这个“存储空间”存储的值。

Java是强类型语言,每个变量都必须声明其数据类型。

是最基本的存储单元,其要素包括变量名、变量类型和作用域。变量在使用前必须对其声明,只有变量声明以后,才能为其分配相应长度的存储空间。

包括基本类型和引用类型两种类型的变量。

不提倡“一行声明多个变量”

局部变量必须声明并且初始化之后才能使用

分类

局部变量(local variable)

含义:方法或语句块内部定义的变量。

周期:从声明的位置开始到方法和语句块执行完毕为止。

局部变量使用之前必须初始化。

成员变量(member variable)

也叫实例变量。

定义在方法的外部、类的内部的变量,没有被static修饰。

从属于对象。

生命周期伴随对象始终。

会自行初始化成该类型的默认出始值。

出始值:int - 0,double - 0.0,char - '\u0000',boolean - false

静态变量(static variable)

定义在类内部,使用static定义。

从属于类。

生命周期伴随类始终,从类加载到类卸载。生命周期最长。

4. 常量(Constant)

定义

通常指的是一个固定的值。

主要利用关键字final类定义一个常量。

常量一旦被初始化之后不能再更改其值。

声明格式:

final type varName = value;

1、2等是字面常量,被final修饰的是符号常量

规范

所有变量、方法、类名:见名知意。

常量:大写字母和下划线:MAX_VALUE。

类名:首字母大写和驼峰原则

方法名:首字母小写和驼峰原则

5. 基本数据类型(primitive data type)

数值型

byte:整数类型,占1个字节

short:整数类型,2个字节

int:整数类型,4个字节

long:整数类型,8个字节

float:浮点类型,4个字节

double:浮点类型,8个字节

字符型

char:2个字节

布尔型

boolean:1位

注意

引用数据类型占4个字节

包括类(class)、接口(interface)、数组

1个字节=8位

6. 整型变量和常量

整型数据类型

byte:1字节 ,8次方,-2的7次方到2的7次方-1,-128到127,其中有0

short:2字节,16次方,-32768到32767

int:4字节,32次方,范围-2三十一次方到2的三十一次方-1,约21亿

long:8字节,2的64次方

注:其中一位表示正负。

各种进制的表示方法

十进制:如:99,-10等

八进制:以0开头

十六进制:以0x或0X开头

二进制:以0b或0B开头

注:整型常量默认是int类型

注:后面加L表示这是一个long类型的常量,L大小写都行。

7. 浮点型变量和BigDecimal的使用

数据类型

float

占4字节,-3.403E38~3.403E38

但精度类型,尾数可精确7位有效数字

float类型的数值有一个后缀F或f

double

占8字节,-1.798E308~1.798E308

双精度类型,精度约为float类型的两倍,浮点型常量默认double类型

表示形式

十进制数形式:3.14 ,314.0,0.314

科学计数法形式:314e2或314E2表示314乘以10的二次方,等于31400.0, 314E-2表示314乘以10的-2次方,等于3.14

float和int占得字节一样,但表示的范围更广,因为float有效数

浮点数是不精确的。不要用于比较

比较的话用BigInteger和BigDecimal,在java.math包下,这两个类可以处理任意长度的数值。BigInteger可以实现任意精度的整数运算。BigDecimal可以实现任意精度的浮点运算。可用于金融领域。

代码示例:

double d = 0.1;

double e = 1.0/10;

System.out.println(d == e);//类型一样true

float f = 0.1f;

double g = 1.0/10;

System.out.println(f == g);//类型不一样false

8. 字符型类型-转义字符

字符型变量/常量

char,占两个字节

用单引号表示,可允许有65536的字符,包含世界上所有的符号

通常用从'\u0000'到‘\uFFFF’之间的十六进制值来表示(u代表Unicode)

代码示例:

char a = 'T';

char b = '尚';

char c = '\u0061';

System.out.println(a);

System.out.println(b);

System.out.println(c);//结果为a

System.out.println('a'+'b');//结果为195

System.out.println(" "+'a'+'b');//结果为ab

9. 布尔类型

内存只占1位

只有两个值,true或false

不可以使用0或非0的整数代替true和false,这点与c不同

Boolean类型用来判断逻辑条件,一般用于程序流程控制

10. 运算符(operator)

算数运算符

二元运算符

规则

整数运算

如果两个操作数有一个为Long,则结果为Long。

没有Long时,结果为int。即使操作数全为short,byte,结果也是int。

浮点运算

如果两个操作数有一个为double,则结果为double。

只有两个操作数都是float,则结果为float。

运算中有一个浮点数,结果为浮点数。

取模运算

其操作数可以为浮点数,一般是整数,结果是余数

余数符号和左边操作数相同,7%3=1,-7%2=-1,7%-3=1。

自增自减

//自增,自减

int c = 4;

int d = c++;

System.out.println("c="+c+"\nd="+d);//c=5,d=4,先把c的值赋给d,c再加1

c = 4;

d = ++c;

System.out.println("c="+c+"\nd="+d);//c=5,d=5,c先加1,再把c的值赋给d

赋值运算符

实例

int e = 3;

int f = 4;

f *= e + 3;//等于f*(e+3)=24,始终先计算符号后面

System.out.println(f);

关系运算符

结果是布尔值:true/false

逻辑运算符

逻辑与 &,两边都要查看

逻辑或 |,两边都要查看

短路与 && ,如果第一个是false,就不看第二个条件,就是false,否则会查看第二条件

短路或 ||,如果第一个是true,就不看第二个条件,就是true,否则会查看第二条件

异或 ^,两边相同false,两边不同true

位运算符

移位算法,左移<>,相当于除以2

字符串连接符

“+”是连接符

当“+”两边,有一边是字符串,得到的结果就是字符串

示例代码

String a = "3";

int b = 4;

int c = 5;

char d = 'a';

System.out.println(a+b+c);  //345

System.out.println(b+c+a);  //93

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

System.out.println(d+4);    //101

条件运算符

三目运算符

11. 自动类型转换

指的是容量小数据类型的自动转换成容量大的数据类型

13. 基本数据类型溢出

注意计算结果可能会溢出

表达是中两个变量是int,结果是变量,如果溢出,就让其中一个做变量提升成long类型

14. 使用Scanner获取键盘输入

要导入包:import java.util.*;

Scanner scanner = new Scanner(System.in);

System.out.println("姓名:");

String name = scanner.nextLine();

System.out.println("爱好:");

String favor = scanner.nextLine();

System.out.println("年龄:");

int age = scanner.nextInt();

System.out.println(name);

System.out.println(favor);

System.out.println(age);

15. 流程控制语句

switch多选择结构

switch(month)

{

case 1:

System.out.println("一月");

break;

case 2:

System.out.println("二月");

break;

default:

System.out.println("其他月");

break;

}

switch(month)

{

case 1:

case 2:

System.out.println("第一节度");//条件1,2,都会打印“第一季度”

break;

default:

System.out.println("其他季度");

break;

}

注:

遇到break,就终止,没有break会接着判断。

while循环详解

循环结构分为当型和直到型

for 死循环

for(;;)

{}

break 和continue语句

break

用于强行退出循环,不执行循环中剩余的语句。

continue

用于退出本次循环,继续执行下次循环。

由内循环跳外循环用带标签的continue,

格式 标签名:语句;continue 标签名;

16. 方法

定义:方法就是一段用来完成特定功能的代码片段,类似于其他语言的函数。

形参:在方法声明时用于接收外界传入的数据。

实参:调用方法时实际传给方法的数据,传递的是数据副本

返回值:方法在执行完毕后返还给调用它的环境数据,如果没有,就是void类型

方法通过对象调用,一个类调用自己的方法时也要实例化对象

return:1.结束方法的运行。2.返回值

方法从属于对象和类

基本类型传递的是值的copy,引用类型传的是对象引用的copy值,但指向的是同一个对象。

方法的重载(overload)

定义:一个类中有多个方法的名称重复,但是完全不同的方法。

不同的含义是:形参类型、形参个数、形参顺序不同

只有返回值不同不构成方法的重载

只有形参的名称不同、不构成方法的重载

方法调用,方法加static修饰,就不用了new 对象,就可以调用方法,否则,必须要new对象才行。

17. 递归结构

基本思想:自己调自己。

递归结构有两部分:递归头和递归体。

定义递归头,:什么时候不调用自身方法。如果没有头,将陷入死循环,也就是递归的结束条件。

递归体:什么时候需要调用自身方法。

爬虫-递归

java基础案例教程前4章知识点_java学习记录4 Java基础知识点相关推荐

  1. 计算机应用基础案例教程总结,计算机应用基础案例教程

    包杰军等编著的<计算机应用基础案例教程>以培养职业能力为目标,本着"做学合一"."理论与实践并行"."知识与技能并重"的教育思想 ...

  2. Java基础案例教程思维导图

    Java基础案例教程目录

  3. 计算机应用基础实训指导教程 王,计算机应用基础案例教程及实训指导-第2章___Windows操...

    计算机应用基础案例教程及实训指导-第2章___Windows操 (11页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.9 积分 第2章中文WinXP ...

  4. 计算机应用基础案例教程习题答案,计算机应用基础案例教程

    包杰军等编著的<计算机应用基础案例教程>以培养职业能力为目标,本着"做学合一"."理论与实践并行"."知识与技能并重"的教育思想 ...

  5. 计算机应用基础教程ppt 洪歧,计算机应用基础案例教程(清华)

    计算机应用基础案例教程(清华) (13页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.9 积分 蕴棉渐擅渐蔽蝎薯腻艰卷诞母危阜腮筷禁防距胜荔梦惋谅倪 ...

  6. 大一计算机应用基础案例教程视频,2015计算机应用基础案例教程.ppt

    计算机应用基础案例教程 高职高专 ppt 课件 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2. ...

  7. python怎么输出浮点数_python 零基础入门教程第 2 章:基本数据类型 (一)

    一.什么是数据类型 编程语言通过一些复杂的计算机物理底层机制,创造不同类型的数据,用来表示现实世界中的不同信息,以便于计算机更好的存储和计算. 每种编程语言都会有一些基本的数据类型用来表示现实世界中的 ...

  8. mysql核心数据库_从MySQL基础进军MySQL核心架构 178集MySQL数据库核心基础视频教程 MySQL基础案例教程...

    从MySQL基础进军MySQL核心架构 178集MySQL数据库核心基础视频教程 MySQL基础案例教程 课程目录 (1) 01MySQL基础_课程引入.avi (2) 02MySQL基础_为什么学习 ...

  9. 计算机文化基础案例教程第三版答案,计算机文化基础案例教程教学课件作者第3版谭宁教学课件素材排骨做法.doc...

    计算机文化基础案例教程教学课件作者第3版谭宁教学课件素材排骨做法.doc (3页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.90 积分 1.香酥排 ...

最新文章

  1. Android基础总结+SQlite数据库【申明:来源于网络】
  2. QPropertyAnimation实现游戏地图场景变换
  3. Appium+RobotFrameWork测试环境搭建
  4. Apache 配置虚拟目录、主机的疑惑及解决
  5. 当你从事不喜欢的事怎么办
  6. web开发方法_确保进入Web开发的最快方法
  7. lr分析器的设计与实现实验_GBDT+LR:Practical Lessons from Predicting Clicks on Ads
  8. 12.用户和组账户管理
  9. iOS 审核之 Performance - 2.5.2 被拒 dlopen(), dlsym(), respondsToSelector:, performSelector
  10. PHP $_SERVER['PHP_SELF']、$_SERVER['SCRIPT_NAME'] 与 $_SERVER['REQUEST_URI'] 之间的区别
  11. WIFI抓包理论篇——802.11帧与EthernetII帧的差别
  12. 关于作虚拟软盘启动(转)
  13. IE7绿色版下载-转载
  14. 蚁群算法(Ant Colony Optimization)
  15. 有了这个“神级”功能,会Excel就能轻松玩转BI数据可视化分析啦
  16. 使用 Screen 创建并管理多个 shell
  17. 基于Java的截图工具
  18. MacM1-Miniconda相关合集
  19. 人工蜂群算法python_python实现人工蜂群算法
  20. 最快下载微软必应Bing搜索背景图片的方法

热门文章

  1. 扎根中国20年,F5“代码到用户”线上峰会盛大启幕
  2. 倒计时 2 天,2018 中国大数据技术大会(BDTC)报名通道即将关闭(附参会提醒)...
  3. vue 利用hash值实现刷新无跳转页面
  4. python计算不规则图形面积_python opencv中的不规则形状检测和测量
  5. spring 事务隔离级别和传播行为_Java工程师面试1000题146-Spring数据库事务传播属性和隔离级别...
  6. mapreduce复制连接的代码_我的 Hive 为什么跑不起来/跑得慢?看看是不是少了这几行代码?...
  7. SprinBoot 集成 Flowable/Activiti工作流引擎
  8. DockerFile 入门到精通
  9. 企业微信H5_集成消息解密类,消息推送Get及Post回调处理
  10. Elasticsearch7.15.2 基础概念和基础语法