java第二章_JAVA第二章知识点

JAVA第二章知识点

本章知识梳理

2.1 关键字

2.2 标识符

2.3 变 量

2.4运算符

2.5 程序流程控制

2.6 方法

2.1 关键字

关键字(keyword)的定义和特点

定义:被java语言赋予了特殊含义,用做专门用途的字符串(单词)

特点:关键字中所有字母都为小写

保留字(reserved word)

定义:现有java版本尚未使用,但以后版本可能会作为关键字使用。自己命名标识符要避免使用这些保留字

goto const

2.2 标识符(ldentifier)

定义:java对各种变量,方法和类等要素命名时使用的字符序列称为标识符

技巧:凡是可以自己起名字的地方都叫标识符

命名规则(必须遵守)

26英文字母 0-9 $ _ 组成 数字不可以开头

($禁止使用)

不可以使用关键字和保留字,可以包换关键字和保留字

java中严格区分大小写,长度无限制

不能有空格

为了提高阅读性,要尽量有意义,“见名知意”

java采用Unicode字符集,因此标识符也可以使用汉字声明,但是不建议

命名规范(可以不遵守)

包名 多单词组成时所有字母都小写:xxxyyyzzz

类名,接口名 所有单词的首字母全部大写 XxxYyyZzz

变量名和方法 首字母小写,后面的单词首字母都大写 xxxYyyZzz

常量名 全部大写用_下划线连接 XXX_YYY_ZZZ

2.3 变量

变量的概念

内存中的一块被命名的被特定的数据类型约束的区域, 此区域中可以保存数据类型范围内的数据,而且此空间中的数据可以变化。

常量 : 不可以变化的量, 有2种 ,字面量 和被final修饰的量

变量注意事项

1.先声明,后使用

2.必须有数据类型和变量名

3.必须初始化,因为内存空间中的老数据不确定,必须写成确定数值

4.变量有其数据范围

5.同一范围,变量不能重复声明

6.变量的作用域:一对{ }之间有效

在方法体外,类体内声明的变量称为成员变量。

范围大 寿命大

在方法体内部声明的变量称为局部变量。

范围小 寿命短

数据类型的作用

确定空间大小

确定空间数据的范围大小

确定空间的数据可以做什么

数据类型

​1.基本数据类型

​基本数据类型在内存空间中保存的是数据本身

整数类型

byte 1字节 -128---127 (1byte=8bit)

short 2字节 -32768---32767

int 4字节 -20亿---20亿

long 8字节 -900亿---900亿 数值结尾必须加L默认是int类

浮点类型

float (单精度) 4字节 -1038-1038 数值结尾必须加F默认是double

double(双精度) 8字节 -10308-10308

字符型

char在内存空间中保存的是字符的Unicode编码值

char 2字节 0-65535 char型字面量必须使用 ''

声明一个字符或转义字符 直接使用unicode值来表示字符型常量

charchar类型是可以进行运算的。因为它都对应有Unicode码

无法使用字面量的字符必须使用转义字符

\t 制表 \r回车 \n换行 ' '空格

补充 Unicode:一种编码,将世界上所有的符号都纳入其中。每一个符号都给予一个独一无二的编码,使用 Unicode 没有乱码的问题。

UTF-8 是在互联网上使用最广的一种 Unicode 的实现方式

布尔型(boolean)

boolean 类型适于逻辑运算,一般用于程序流程控制

boolen 数据类型只允许两个值 true false 无null

占用一个字节,false是0 ture是1

int不能强转为布尔值

字符串Stirng

String类型变量属于引用数据类型,翻译为字符串

声明字符串类型变量时,使用一对""

String可以和八种基本数据类型变量做运算,且运算只能是连接运算,运算结果也是String类型 用+号连接

String s1 = null; //空,没有对象

String s2 =""; //空串,有对象没内容

String s3 ="abc"

//字符串可以和任意数据用+号连接,结果产生一个新的字符串

s2 = s2+100 //"abc100"

//把基本数据转化为字符串 加空串

String s4 = ""+110;

​ 2.引用数据类型

存空间中保存的是其他数据的地址, Reference

类(class)

接口(interface)

数组([])

基本数据类型转化:

1.自动类型提升:

结论:当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型。

byte --

char--

如果右边的值的范围小于等于左边的变量的范围类型自动转

如果右边的值范围大于左边的变量的范围类型,必须强转

任意非long整数作运算, 结果总是int型

混合运算中,结果数据类型取决于其中范围最大的那个

当把任何基本类型的值和字符串值进行连接运算时(+),基本类型的值将自动转化为字符串类型。

常量运算不受影响

2.强制类型转换

​自动类型提升运算的逆运算

​1.需要使用强转符:()

​2.强制类型转化,可能会导致精度损失

​3.布尔类型不可转化

​4.char没有符号位 所以转化有风险

class VariableTest3{

public static void main(String[]args){

double d1 = 12.3;

int i1 = (int)d1;//截断操作,不会四舍五入

System.out.println(i1);

}

}

说明:此时的容量大小指的是,表示数的范围的大小。比如float容量要比long的容量大

进制

二进制:0,1 ,满2进1.以0b或0B开头。

十进制:0-9 ,满10进1.权值 = 10的n次方 10^

八进制:0-7 ,满8进1. 以数字0开头表示。

十六进制:0-9及A-F,满16进1. 以0x或0X开头表示。此处的A-F不区分大小写

十六进制 0x3215

3*16^3 12288

2*16^2 512

1*16^1 16

5*16^0 5

=12821

二进制

0x5A = 01011010 90 三者是同一个东西的不同表现

1byte=8bit

十二 十六

0 00000

1 00011

2 00102

3 00113

4 01004

5 01015

6 01106

7 01117

8 10008

9 10019

101010A

111011B

121100C

13 1101D

141110E

151111F

​ 8421

2个16进制数 正好对于应8个比特,所以2个十六进制就是一个字节

0x3a = 0011 1010

1010 0110 = 0xA6

计算机底层所有数据都是二进制补码的的形式存储

表示符号的的符号位总是在最高位 是0表示正数是1是负数

补码:正数补码就是自身

负数的补码就是它的相反数全部取反再加1

过程:

算负数 -1 取反 1101 1100

-1 1101 1011

取反 0010 0100 = -36

2.4 运算符

1.位运算符

<< 左移 空位补0,被移除的高位丢弃,空缺位补0。左移一位相当于乘2

》》右移 被移位的二进制最高位是0,右移后,空缺位补0;最高位是1,空缺位补1。右移一位相当于除2

》》》无符号右移 被移位二进制最高位无论是0或者是1,空缺位都用0补。

& 与运算 二进制位进行&运算,只有1&1时结果是1,否则是0,结果总是小于等于运算数

| 或运算 二进制位进行 | 运算,只有0 | 0时结果是0,否则是1,结果总是大于等于运算数

^ 异或运算 相同二进制位进行 ^ 运算,结果是0;不相同二进制位 ^ 运算结果是1,结果不稳定, 通常用于加密

取反 所有二进制位取反, 0变1, 1变0。正数变负数, 负数变正数,结果都是一个数的相反数减1

2.算数运算符

​+正 -负 +加 -减 *乘 /除 %取模 ++自加 --自减

除号“/”,它的整数除,只保留整数部分而舍弃小数部分

对负数取模,可以把模数负号忽略不记,但被模数是负数则不可忽略。

N%M结果总是小于M

N%M结果为0,说明N能被M整数

N%2结果为0,说明N为偶数

N%2结果为1,说明N为奇数

A++ 后加加 先用后加

++A 前加加 先加后用

int a =8;

a = a++;//a=8 有临时空间,要注意

a = ++a;//a=9

for(int i = 0; i < 10;i++)

for(int i = 0; i != 10;++i)//效果相同节约空间

3.赋值运算符

​= 赋值运算符

int a,b,c,d;

a=b=c=d=30;//支持连续赋值

+= n=n+10 n+=10 效果相同,但是不会引起数据类型的变化

-= *= /= %= 同理

4.比较运算符

​== 相等于 !=不等于 大于 <=小于等于 >=大于等于

​比较运算符的结果都是boolean型,ture or false

比较运算符的比大小操作,只适用于基本类型数据中的数值型

5.逻辑运算符

​&逻辑与 |逻辑或 (禁止使用) !逻辑非(相反值)

​&&短路与 ||短路或 ^逻辑异或(相同为false不同为ture)

​&与&& 相同点 运算结果一样 符号左边是true时,二者都会执行右边的运算,反之&&不会执行右边运算

​|与|| 相同点 运算结果一样 符号左边是false时,二者都会执行右边的运算,反之||不会执行右边运算

6.三元运算符

格式 (条件表达式)?表达式1:表达式2:

​条件为ture 运算后的结果是表达式1

​条件是false 运算后的结果是表达式2

​表达式1和2必须同种数据类型

//输出两个值中的最大值

int n1 = Integer.parseInt(args[0]);//参数可以多不能少

int n2 = Integer.parseInt(args[1]);//必须传对应数值类型

int max = (n1>n2)? n1:n2;//如果两个值相同取值b

System.out.println("max:="+max);

2.5 程序流程控制

顺序结构

程序从上到下逐行执行,中间没有任何判断和跳转

分支结构

​根据条件选择性的执行某段代码

​有if...else和switch-case两种分支语句

if...else

if(条件表达式){执行代码块}//满足执行,不满足不执行

//只有一个语句的时候可以不加代{}

if(条件表达式){执行代码块1}//为真执行

else{执行代码块2}//为假执行 语句1和2是互斥的,不可能都执行或都不执行

if(条件1){

语句1

}else if(条件2){

语句2

}else if(条件3){//若前面条件2为真,那即便条件3为真也不执行,截断操作

语句3

}else{

语句4

}

//if嵌套 可以无限嵌套

if(条件表达式1){

if(条件表达式2){执行代码块2}

else{执行代码块3}

}

else{

if(条件表达式2){执行代码块2}

else{执行代码块3}

}

switch-case

作用用于穷举变量中的可能的值,不可能情况太多

switch(变量){

case 常量1:

语句1;

break;//跳出循环

case 常量2:

语句2;

break;

default://如果所有的case语句都不满足 则执行default

语句;

break;

}

注意事项

switch(表达式)中表达式的返回值必须是下述几种类型之一:byte,short,char,int,String, 枚举;

case子句中的值必须是常量,且所有case子句中的值应是不同的;

default子句是可任选的,当没有匹配的case时,执行default

break语句用来在执行完一个case分支后使程序跳出switch语句块;如果没有break,程序会顺序执行到后面第一个break语句或直接执行到switch结尾(这种现象称为穿透)

循环结构

根据循环条件,重复性的执行某段代码。

有whlie,do,,,whlie,for三种循环语句

注意:JDK1.5提供了foreach循环

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/573735.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JSP Workshop

http://www.cnblogs.com/ITtangtang/p/4126395.html 发现http://www.tutorialspoint.com/里的资料很全也很不错啊&#xff01; 资料&#xff1a;http://www.tutorialspoint.com/jsp/jsp_tutorial.pdf 另外&#xff0c;http://www.runoob.com/jsp/jsp-tutorial.html 中关于JSP…

崇天老师python123测验6_嵩天老师python123测验1: Python基本语法元素 (第1周)

选择题**Guido van Rossum正式对外发布Python版本的年份是&#xff1a;‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪…

从链接中获取文件名及扩展名

exeStr [filePath lastPathCompoment];   从链接中读取完整的带后缀文件名称 exeStr [filePath stringByDeleteExtension]; 从链接中读取不带后缀名的文件名称 fileType [filePath pathExtension];       获得链接中文件扩展名&#xff0c;不带"." …

mysql的学习要点_MySQL中的联合索引的学习要点总结

MySQL中的联合索引的学习要点总结联合索引又叫复合索引。对于复合索引:Mysql从左到右的使用索引中的字段&#xff0c;一个查询可以只使用索引中的一部份&#xff0c;但只能是最左侧部分。例如索引是key index (a,b,c). 可以支持a | a,b| a,b,c 3种组合进行查找&#xff0c;但不…

h5页面不可 移动_H5营销|为什么H5适合于微信营销

随着互联网技术的不断发展&#xff0c;更新在移动互联网时代&#xff0c;网络营销也开始越来越新颖化&#xff0c;而微信H5就是其中的佼佼者。它的出现满足了用户视觉上的审美要求&#xff0c;并且可以使营销方式变得更加的美观整洁&#xff0c;那么这里就有一个问题。为什么微…

input框

input: 输入时与输入框有点距离 padding-left: 5px; 点击时没有浅蓝色的框&#xff1a; outline: none; 设置输入框背景颜色&#xff1a;background: seagreen; 提示语&#xff1a; placeholder"请输入搜索内容" 放在HTML 输入框有图像&#xff1a; background-image…

python3 image_python3 ImageTk 安装方法

标签&#xff1a;使用命令&#xff1a;$ sudo yum search PIL | grep python3可显示得知&#xff1a;python3-dogpile-cache.noarch : A caching front-end based on the Dogpile lock.python3-dogpile-core.noarch : A ‘dogpile‘ lock, typically used as a component ofpyt…

亚太地区数学建模优秀论文_数学建模美赛强势来袭!

01美赛&#xff0c;即美国大学生数学建模竞赛(MCM/ICM)又要来啦&#xff01;赛题内容涉及经济、管理、环境、资源、生态、医学、安全、未来科技等众多领域。竞赛要求三人(本科生)为一组&#xff0c;在四天时间内&#xff0c;就指定的问题完成从建立模型、求解、验证到论文撰写的…

《软件调试》读书笔记:第13章 硬错误和蓝屏

会话管理器进程SMSS.exe是系统启动后的第一个用户态进程&#xff0c;负责启动和监护windows子系统进程&#xff1a;CSRSS.exe和登陆管理进程&#xff1a;WinLogonSMSS.exe从注册表中查询子系统exe文件的位置&#xff0c;并且启动它 CSRSS是windows子系统进程&#xff0c;自NT4以…

java selenium教程_Selenium3 Java自动化测试完整教程

本课程为一个完整的selenium自动化测试实战课程&#xff0c;采用当前**的版本3。学完后可以独立构建起企业级/项目级的自动化测试&#xff0c;从搭建环境、编写脚本、使用框架组织运行脚本与输出报告、及与持续集成工具Jenkins结合达到构建后即测试或指定晚上运行等方式&#x…

信息安全技术网络安全等级保护定级指南_行业标准 |报业网络安全等级保护定级参考指南V2.0发布,明确保护对象、定级要求...

近期&#xff0c;中国新闻技术工作者联合会正式发布《报业网络安全等级保护定级参考指南V2.0》。该指南由中国新闻技术工作者联合会组织网络安全领域的专家、报业技术专家以及业务专家经过多次调研、学习、探讨后&#xff0c;在原《报业网络安全等级保护定级参考指南V1.0》的基…

nRF51822 硬件复位引脚

nRF51822 有一个硬件复位引脚和Debug 口SWDIO是共用的&#xff0c;名字叫做nReset. 实现硬件复位是怎样子的&#xff1a; 1、这个引脚引出来&#xff0c; 2、给这个引脚低电平&#xff0c; 3、从低电平拉到高电平&#xff0c;即复位。 其实就是给这个引脚一个低电平脉冲。 转载…

java点赞功能实现_JavaWeb中点赞功能的实现及完整实例

实现原理1、功能描述&#xff1a;一个用户对同一文章只能点赞一次&#xff0c;第二次就是取消赞2、建立一个点赞表great&#xff0c;字段有文章ID(aid)&#xff0c;点赞用户ID(uid)3、当有用户进行点赞行为时&#xff0c;使用aid和uid搜索点赞表。若有该记录&#xff0c;则表示…

数学作图工具_科研论文作图系列-从PPT到AI (一)

导语&#xff1a;之前的推送中&#xff0c;小编给大家介绍过几款科研作图软件&#xff0c;包括统计分析软件Origin和Prism&#xff0c;图像处理软件ImageJ等等。从本期开始&#xff0c;小编将和大家一起继续学习科研论文作图。重点介绍图像的处理和排版&#xff0c;用到的工具主…

传送图片程序

前言&#xff1a;以C#为程序设计基础&#xff0c;传输大图片&#xff0c;并现实。在过程中&#xff0c;采用套接字&#xff0c;单线程同步机制为例子。需要深化&#xff0c;可以采用异步或者多线程的机制&#xff0c;保障能够顺利执行。具体代码可以到微云下载【链接&#xff1…

java中no1_【Java】-- 网络编程のNo.1

在现有的网络中&#xff0c;网络通讯的方式主要有两种&#xff1a;TCP(传输控制协议)方式UDP(用户数据报协议)方式在网络通讯中&#xff0c;TCP方式就类似于拨打电话&#xff0c;使用该种方式进行网络通讯时&#xff0c;需要建立专门的虚拟连接&#xff0c;然后进行可靠的数据传…

优启通怎么重装系统win10_重装系统失败?小编教你安全给神舟战神GX9 Pro重装win10系统方法...

神舟战神GX9 Pro 上市于2016年1月&#xff0c;虽然现在已经停产&#xff0c;但是还是有不少用户依旧十分喜爱这款笔记本。这款笔记本的性能完全对得起它的售价&#xff0c;很多用户都反馈其比外星人电脑要好。对于爱玩游戏的用户而言&#xff0c;对它17.3英寸的显示屏简直欲罢不…

.NET小细节

1、equals()和运算符的区别 C#中有两种不同的相等&#xff1a;引用相等和值相等。值相等是两个对象包含相同的值&#xff1b;引用相等是两个对象引用的是同一个对象。 “”操作符比较的是两个变量的值是否相等&#xff0c;或两个引用是不是指向同一个内存地址&#xff08;类似比…

java exception用法_Java基础回顾_Exception异常使用详解

package 内部类异常包装器;public class 异常 {/*** 1.异常:* 有Error和Exception两个基本子类* 2.Error:* Error表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。* 3.Exception:* 表示一种设计或实现问题。也就是说&…

获得代理ippython_Python搭建代理IP池实现获取IP的方法

使用爬虫时&#xff0c;大部分网站都有一定的反爬措施&#xff0c;有些网站会限制每个 IP 的访问速度或访问次数&#xff0c;超出了它的限制你的 IP 就会被封掉。对于访问速度的处理比较简单&#xff0c;只要间隔一段时间爬取一次就行了&#xff0c;避免频繁访问&#xff1b;而…