96SEO 2026-02-20 08:14 7
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html

关键字一共50个其中const和goto是保留字(reserved
truefalsenull不在其中它们看起来像关键字其实是字面量表示特殊的布尔值和空值。
Java中变量、方法、类等要素命名时使用的字符序列称为标识符。
数字不可以开头。
不可以使用关键字和保留字但能包含关键字和保留字。
Java中严格区分大小写长度无限制。
标识符不能包含空格。
#44、apps、class、public、int、x、y、radius
包名多单词组成时所有字母都小写xxxyyyzzz。
例如java.lang、com.atguigu.bean
类名、接口名多单词组成时所有单词的首字母大写XxxYyyZzz例如HelloWorldStringSystem等
变量名、方法名多单词组成时第一个单词首字母小写第二个单词开始每个单词首字母大写xxxYyyZzz例如age,name,bookName,main,binarySearch,getName
常量名所有字母都大写。
多单词时每个单词用下划线连接XXX_YYY_ZZZ例如MAX_VALUE,PI,DEFAULT_CAPACITY
更多细节详见《代码整洁之道_关于标识符.txt》《阿里巴巴Java开发手册-1.7.1-黄山版》
一花一世界如果把一个程序看做一个世界或一个社会的话那么变量就是程序世界的花花草草、万事万物。
即变量是程序中不可或缺的组成单位最基本的存储单元。
给变量赋值就是把“值”存到该变量代表的内存空间中。
同时给变量赋的值类型必须与变量声明的类型一致或兼容。
Java各整数类型有固定的表数范围和字段长度不受具体操作系统的影响以保证Java程序的可移植性。
Java程序中变量通常声明为int型除非不足以表示较大的数才使用long。
位bit是数据存储的最小单位。
二进制数系统中每个0或1就是一个位叫做bit比特其中8
float单精度尾数可以精确到7位有效数字。
很多情况下精度很难满足需求。
并不是所有的小数都能可以精确的用二进制浮点数表示。
二进制浮点数不能精确的表示0.1、0.01、0.001这样10的负次幂。
浮点类型float、double的数据不适合在不容许舍入误差的金融计算领域。
如果需要精确数字计算或保留指定位数的精度需要使用BigDecimal类。
0.2);//0.30000000000000004//测试2
案例1定义圆周率并赋值为3.14现有3个圆的半径分别为1.2、2.5、6求它们的面积。
radius1);System.out.println(第2个圆的面积
radius2);System.out.println(第3个圆的面积
它需要一个程序将华氏温度80度转换为摄氏度并以华氏度和摄氏度为单位分别显示该温度。
(hua-32)/1.8;System.out.println(华氏度
Java中的所有字符都使用Unicode编码故一个字符可以存储一个字母一个汉字或其他书面语的一个字符。
Unicode值来表示字符型常量‘\uXXXX’。
其中XXXX代表一个十六进制整数。
形式3Java中还允许使用转义字符‘\’来将其后的字符转变为特殊字符型常量。
转义字符说明Unicode表示方式\n换行符\u000a\t制表符\u0009\双引号\u0022\单引号\u0027\\反斜线\u005c\b退格符\u0008\r回车符\u000d
char类型是可以进行运算的。
因为它都对应有Unicode码可以看做是一个数值。
拓展Java虚拟机中没有任何供boolean值专用的字节码指令Java语言表达所操作的boolean值在编译之后都使用java虚拟机中的int数据类型来代替true用1表示false用0表示。
——《java虚拟机规范
true)这样就变成赋值isFlag为true而不是判断老鸟的写法是if
在Java程序中不同的基本数据类型只有7种不包含boolean类型变量的值经常需要进行相互转换。
规则将取值范围小或容量小的类型自动提升为取值范围大或容量大的类型
1当把存储范围小的值常量值、变量的值、表达式计算的结果值赋值给了存储范围大的变量时
A;//char自动升级为int其实就是把字符的编码值赋值给i变量了
//右边的整数常量值如果在int范围呢编译和运行都可以通过这里涉及到数据类型转换//byte
12345678912L;//右边的整数常量值如果超过int范围必须加L显式表示long类型。
否则编译不通过
2当存储范围小的数据类型与存储范围大的数据类型变量一起混合运算时会按照其中最大的类型运算。
3当byte,short,char数据类型的变量进行算术运算时按照int类型处理。
为float型变量y为double型变量a为int型变量b为long型变量c为char型变量则表达式
规则将取值范围大或容量大的类型强制转换成取值范围小或容量小的类型。
自动类型提升是Java自动执行的而强制类型转换是自动类型提升的逆运算需要我们自己手动执行。
1当把存储范围大的值常量值、变量的值、表达式计算的结果值强制转换为存储范围小的变量时可能会损失精度或溢出。
2当某个值想要提升数据类型时也可以使用强制类型转换。
这种情况的强制类型转换是没有风险的通常省略。
3声明long类型变量时可以出现省略后缀的情况。
float则不同。
此时可以看做是int类型的123自动类型提升为long类型//long
//报错因为12.3看做是double不能自动转换为float类型
//进而如下的声明中l的值到底是123还是变量123L对应的取值12呢
1、任意八种基本数据类型的数据与String类型只能进行连接“”运算且结果一定也是String类型
System.out.println(s2);//abc10true//String
Integer.parseInt(str);//正确的后面才能讲到借助包装类的方法才能转
要求填写自己的姓名、年龄、性别、体重、婚姻状况已婚用true表示单身用false表示、联系方式等等。
13112341234;System.out.println(姓名
isMarried);System.out.println(电话
phoneNumber);//或者System.out.println(name
计算机世界中只有二进制所以计算机中存储和运算的所有数据都要转为二进制。
包括数字、字符、图片、声音、视频等。
//十六进制System.out.println(num1);System.out.println(num2);System.out.println(num3);System.out.println(num4);}
十进制二进制八进制十六进制000011112102231133410044510155611066711177810001089100111910101012a或A11101113b或B12110014c或C13110115d或D14111016e或E15111117f或F16100002010
二进制是计算技术中广泛采用的一种数制由德国数理哲学大师莱布尼茨于1679年发明。
二进制数据是用0和1两个数码来表示的数。
它的基数为2进位规则是“逢二进一”。
二进制广泛应用于我们生活的方方面面。
比如广泛使用的摩尔斯电码Morse
Code它由两种基本信号组成短促的点信号“·”读“滴”保持一定时间的长信号“—”读“嗒”。
然后组成了26个字母从而拼写出相应的单词。
按照功能分为算术运算符、赋值运算符、比较(或关系)运算符、逻辑运算符、位运算符、条件运算符、Lambda运算符
分类运算符算术运算符7个、-、*、/、%、、--赋值运算符12个、、-、*、/、%、、、、、|、^等比较(或关系)运算符6个、、、、、!逻辑运算符6个、|、^、!、、||位运算符7个、|、^、~、、、条件运算符1个(条件表达式)?结果1:结果2Lambda运算符1个-第18章时讲解按照操作数个数分为一元运算符单目运算符、二元运算符双目运算符、三元运算符
分类运算符一元运算符单目运算符正号、负号-、、--、!、~二元运算符双目运算符除了一元和三元运算符剩下的都是二元运算符三元运算符
计算机结果是0为什么不是0.75呢System.out.println(a
3//结果与被模数符号相同System.out.println(5%2);//1System.out.println(5%-2);//1System.out.println(-5%2);//-1System.out.println(-5%-2);//-1
Hello;System.out.println(str1);
无论是变量前还是变量后结果都是4System.out.println(a);}
和其他变量放在一起使用或者和输出语句放在一起使用前和后就产生了不同。
y的值是3x的值是4System.out.println(x);System.out.println(y);System.out.println();//
输出结果是6z的值也是6System.out.println(z);//
输出结果是5z的值是6System.out.println(z);}
shi);System.out.println(百位上的数字是
bai);System.out.println(千位上的数字是
案例2为抵抗洪水战士连续作战89小时编程计算共多少天零多少小时
24;System.out.println(为抵抗洪水战士连续作战89小时);System.out.println(hours
i1;System.out.print(ii);//System.out.println(i1i1);//i
i2--;System.out.print(ii);//System.out.println(i2i2);//i
--i2;System.out.print(ii);//System.out.println(i2i2);//}
当“”两侧数据类型不一致时可以使用自动类型转换或使用强制类型转换原则进行处理。
赋值运算符符号解释将符号左边的值和右边的值进行相加操作最后将结果赋值给左边的变量-将符号左边的值和右边的值进行相减操作最后将结果赋值给左边的变量*将符号左边的值和右边的值进行相乘操作最后将结果赋值给左边的变量/将符号左边的值和右边的值进行相除操作最后将结果赋值给左边的变量%将符号左边的值和右边的值进行取余操作最后将结果赋值给左边的变量
5的操作但不等同于。
System.out.println(m1);//15//练习1开发中如何实现一个变量2的操作呢//
的操作不会改变变量本身的数据类型。
其他拓展的运算符也如此。
//写法1推荐short
//编译通过因为在得到int类型的结果后JVM自动完成一步强制类型转换将int类型强转成shortSystem.out.println(s1);//12//写法2short
2;//编译报错因为将int类型的结果赋值给short类型的变量s时可能损失精度s2
2);System.out.println(s2);//练习2开发中如何实现一个变量1的操作呢//写法1推荐int
10;num1;System.out.println(num1);//写法2int
1;System.out.println(num2);//写法3int
System.out.println(n);//32练习5你有几种办法实现变量值减1变量值减2呢
比较运算符的结果都是boolean型也就是要么是true要么是false。
i2);//falseSystem.out.println(i1
i2);//trueSystem.out.println(i1
b2);//falseSystem.out.println(b1
elseSystem.out.println(结果为假);7.4
逻辑运算符操作的都是boolean类型的变量或常量而且运算得结果也是boolean类型的值。
表示且关系当符号左右两边布尔值都是true时结果才能为true。
否则为false。
表示或关系当符号两边布尔值有一边为true时结果为true。
当两边都为false时结果为false
表示非关系当变量布尔值为true时结果为false。
当变量布尔值为false时结果为true。
当符号左右两边布尔值不同时结果为true。
当两边布尔值相同时结果为false。
与且有false则falseSystem.out.println((a
或有true则trueSystem.out.println((a
异或相同为false不同为trueSystem.out.println((a
非非false则true非true则falseSystem.out.println(!false);System.out.println(!true);//和的区别System.out.println((a
a);//|和||的区别System.out.println((a
a);System.out.println(----------------------------);boolean
System.out.println(xx,yy);练习2区分
System.out.println(xx,yy);练习3程序输出
运算规则在一定范围内数据每向左移动一位相当于原数据*2。
正数、负数都适用
【注意】当左移的位数n超过该数据类型的总位数时相当于左移n-总位数位
运算规则在一定范围内数据每向右移动一位相当于原数据/2。
正数、负数都适用
说明条件表达式是boolean类型的结果根据boolean的值选择表达式1或表达式2
如果运算后的结果赋给新的变量要求表达式1和表达式2为同种或兼容的类型
200);System.out.println(i);//200boolean
m2;System.out.println(m1和m2中的较大值为
7;System.out.println(今天是周2,10天以后是周
凡是可以使用条件运算符的地方都可以改写为if-else结构。
反之不成立。
开发中如果既可以使用条件运算符又可以使用if-else推荐使用条件运算符。
因为执行效率稍高。
max;//声明变量max用于记录i1和i2的较大值if(i1
运算符有不同的优先级所谓优先级就是在表达式运算中的运算符顺序。
优先级运算符说明Java运算符1括号()、[]、{}2正负号、-3单元运算符、--、~、4乘法、除法、求余*、/、%5加法、减法、-6移位运算符、、7关系运算符、、、、instanceof8等价运算符、!9按位与10按位异或^11按位或|12条件与13条件或||14三元运算符?
:15赋值运算符、、-、*、/、%16位赋值运算符、|、、、开发建议
不要过多的依赖运算的优先级来控制表达式的执行顺序这样可读性太差尽量使用()来控制表达式的执行顺序。
不要把一个表达式写得过于复杂如果一个表达式过于复杂则把它分成几步来完成。
例如
计算机中储存的信息都是用二进制数表示的而我们在屏幕上看到的数字、英文、标点符号、汉字等字符是二进制数转换之后的结果。
按照某种规则将字符存储到计算机中称为编码
。
反之将存储在计算机中的二进制数按照某种规则解析显示出来称为解码
字符集也叫编码表。
是一个系统支持的所有字符的集合包括各国家文字、标点符号、图形符号、数字等。
Interchange美国信息交换标准代码上个世纪60年代美国制定了一套字符编码对英语字符与二进制位之间的关系做了统一规定。
这被称为ASCII码。
ASCII码用于显示现代英语主要包括控制字符回车键、退格、换行键等和可显示字符英文大小写字符、阿拉伯数字和西文符号。
基本的ASCII字符集使用7位bits表示一个字符最前面的1位统一规定为0共128个字符。
比如空格“SPACE”是32二进制00100000大写的字母A是65二进制01000001。
拉丁码表别名Latin-1用于显示欧洲使用的语言包括荷兰语、德语、意大利语、葡萄牙语等
GB2312简体中文码表。
一个小于127的字符的意义与原来相同即向下兼容ASCII码。
但两个大于127的字符连在一起时就表示一个汉字这样大约可以组合了包含7000多个简体汉字此外数学符号、罗马希腊的字母、日文的假名们都编进去了这就是常说的全角字符而原来在127号以下的那些符号就叫半角字符了。
GBK最常用的中文码表。
是在GB2312标准基础上的扩展规范使用了双字节编码方案共收录了21003个汉字完全兼容GB2312标准同时支持繁体汉字以及日韩汉字等。
GB18030最新的中文码表。
收录汉字70244个采用多字节编码每个字可以由1个、2个或4个字节组成。
支持中国国内少数民族的文字同时支持繁体汉字以及日韩汉字等。
Unicode编码为表达任意语言的任意字符而设计也称为统一码、标准万国码。
Unicode
将世界上所有的文字用2个字节统一进行编码为每个字符设定唯一的二进制编码以满足跨语言、跨平台进行文本处理的要求。
第一英文字母只用一个字节表示就够了如果用更多的字节存储是极大的浪费。
第二如何才能区别Unicode和ASCII计算机怎么知道两个字节表示一个符号而不是分别表示两个符号呢
第三如果和GBK等双字节编码方式一样用最高位是1或0表示两个字节和一个字节就少了很多值无法用于表示字符不够表示所有字符。
Unicode在很长一段时间内无法推广直到互联网的出现为解决Unicode如何在网络上传输的问题于是面向传输的众多
Format标准出现。
具体来说有三种编码方案UTF-8、UTF-16和UTF-32。
Unicode是字符集UTF-8、UTF-16、UTF-32是三种将数字转换到程序数据的编码方案。
顾名思义UTF-8就是每次8个位传输数据而UTF-16就是每次16个位。
其中UTF-8
互联网工程工作小组IETF要求所有互联网协议都必须支持UTF-8编码。
所以我们开发Web应用也要使用UTF-8编码。
UTF-8
二进制————————————————————|—–—–—–—–—–—–—–—–—–—–—–—–—–—–0000
注意在中文操作系统上ANSI美国国家标准学会、AMERICAN
ANSI编码即为GBK在英文操作系统上ANSI编码即为ISO-8859-1。
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback