java基础案例教程前4章知识点_java学习记录4 Java基础知识点
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基础知识点相关推荐
- 计算机应用基础案例教程总结,计算机应用基础案例教程
包杰军等编著的<计算机应用基础案例教程>以培养职业能力为目标,本着"做学合一"."理论与实践并行"."知识与技能并重"的教育思想 ...
- Java基础案例教程思维导图
Java基础案例教程目录
- 计算机应用基础实训指导教程 王,计算机应用基础案例教程及实训指导-第2章___Windows操...
计算机应用基础案例教程及实训指导-第2章___Windows操 (11页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.9 积分 第2章中文WinXP ...
- 计算机应用基础案例教程习题答案,计算机应用基础案例教程
包杰军等编著的<计算机应用基础案例教程>以培养职业能力为目标,本着"做学合一"."理论与实践并行"."知识与技能并重"的教育思想 ...
- 计算机应用基础教程ppt 洪歧,计算机应用基础案例教程(清华)
计算机应用基础案例教程(清华) (13页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.9 积分 蕴棉渐擅渐蔽蝎薯腻艰卷诞母危阜腮筷禁防距胜荔梦惋谅倪 ...
- 大一计算机应用基础案例教程视频,2015计算机应用基础案例教程.ppt
计算机应用基础案例教程 高职高专 ppt 课件 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2. ...
- python怎么输出浮点数_python 零基础入门教程第 2 章:基本数据类型 (一)
一.什么是数据类型 编程语言通过一些复杂的计算机物理底层机制,创造不同类型的数据,用来表示现实世界中的不同信息,以便于计算机更好的存储和计算. 每种编程语言都会有一些基本的数据类型用来表示现实世界中的 ...
- mysql核心数据库_从MySQL基础进军MySQL核心架构 178集MySQL数据库核心基础视频教程 MySQL基础案例教程...
从MySQL基础进军MySQL核心架构 178集MySQL数据库核心基础视频教程 MySQL基础案例教程 课程目录 (1) 01MySQL基础_课程引入.avi (2) 02MySQL基础_为什么学习 ...
- 计算机文化基础案例教程第三版答案,计算机文化基础案例教程教学课件作者第3版谭宁教学课件素材排骨做法.doc...
计算机文化基础案例教程教学课件作者第3版谭宁教学课件素材排骨做法.doc (3页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.90 积分 1.香酥排 ...
最新文章
- Android基础总结+SQlite数据库【申明:来源于网络】
- QPropertyAnimation实现游戏地图场景变换
- Appium+RobotFrameWork测试环境搭建
- Apache 配置虚拟目录、主机的疑惑及解决
- 当你从事不喜欢的事怎么办
- web开发方法_确保进入Web开发的最快方法
- lr分析器的设计与实现实验_GBDT+LR:Practical Lessons from Predicting Clicks on Ads
- 12.用户和组账户管理
- iOS 审核之 Performance - 2.5.2 被拒 dlopen(), dlsym(), respondsToSelector:, performSelector
- PHP $_SERVER['PHP_SELF']、$_SERVER['SCRIPT_NAME'] 与 $_SERVER['REQUEST_URI'] 之间的区别
- WIFI抓包理论篇——802.11帧与EthernetII帧的差别
- 关于作虚拟软盘启动(转)
- IE7绿色版下载-转载
- 蚁群算法(Ant Colony Optimization)
- 有了这个“神级”功能,会Excel就能轻松玩转BI数据可视化分析啦
- 使用 Screen 创建并管理多个 shell
- 基于Java的截图工具
- MacM1-Miniconda相关合集
- 人工蜂群算法python_python实现人工蜂群算法
- 最快下载微软必应Bing搜索背景图片的方法
热门文章
- 扎根中国20年,F5“代码到用户”线上峰会盛大启幕
- 倒计时 2 天,2018 中国大数据技术大会(BDTC)报名通道即将关闭(附参会提醒)...
- vue 利用hash值实现刷新无跳转页面
- python计算不规则图形面积_python opencv中的不规则形状检测和测量
- spring 事务隔离级别和传播行为_Java工程师面试1000题146-Spring数据库事务传播属性和隔离级别...
- mapreduce复制连接的代码_我的 Hive 为什么跑不起来/跑得慢?看看是不是少了这几行代码?...
- SprinBoot 集成 Flowable/Activiti工作流引擎
- DockerFile 入门到精通
- 企业微信H5_集成消息解密类,消息推送Get及Post回调处理
- Elasticsearch7.15.2 基础概念和基础语法