黑马程序员——Java基本语法

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

语法基础


标示符
组成:a-z A-Z 0-9 _$
规则:1、数字不可以开头,不可值用关键字命名(如:this public)
注意:Java中严格区分大小写


名称命名规范:
1、包名:xxxyyyzzz(多单词组成都小写)
2、类名接口名:XxxYyyZzz(多单词首个字母大写)
3、变量名、函数名:xxxYyyZzz(多单词首个单词小写,后面单词首字母大写)
4、常量名:XXX_YYY_ZZZ(多个单词所有字母大写并用_连接)


注释
单行注释://(单行注释内容)
多行注释:/*(多行注释内容)*/
文档注释:/**(注释内容)*/--->文档注释可用于帮助文档的制作被JDK工具javadoc解析,生成一套网页文件


常量和变量
常量:顾名思义,平常的量既不可以改变其数值的量
变量:
1、整数常量
2、小数常量
3、布尔型常量-->只有两个数值:true false
4、字符常量-->将数字,字母符号用单引号标识,如:'a'  '3' '%'
5、字符串常量-->讲一个或多个字符用双引号标识,如:"safa"  "23sfd" "sdf&*"
6、null常量-->只有一个数值:null


数据类型
1、基本数据类型
  a、数值型
①整数类型(byte,short,int,long)
②浮点类型(float,double)
  b、字符型(char)
  c、布尔型(boolean)


2、引用数据类型
  a、类(class)
  b、接口(interface)
  c、数组([])
注意:整数默认的是int 小数默认的是double


类型转换
自动类型转换(隐式类型转换)
·所有的byte,char,short的值都将被提升到int型(通俗解释byte,char,short就像大小不同的碗,而int就是一个锅.碗能装的下的量,变成了锅以后还能装的下,而锅能装得下的量变成碗就不够装)
byte b=3;
int x=6;
x=x+b;//此时b会自动提升为int型
b=x+b;//此时编译不同过
强制类型转换
b=byte(x+b);//这样就可以


运算符
算术运算符
 + --> 用在整数之间是相加功能,如:5+5=10 用在字符串之间是把非字符串转换成字符串连接,如:"5+5="+5+5 打印结果是5+5=55
 - *
 / --> (注意它的整数除和小数除是有区别的:整数之间除只保留整数部分,如:int x=3151;x=x/1000*1000);当x/1000后结果是3,3*1000结果是3000;
 % ++ -- 


赋值运算符
 = += -= *= /= %=


比较运算符
 == != < > <= >= instanceof 返回true false 


逻辑运算符
 &(与) |(或) ^(异或) !(非) &&(双与) ||(双或)只要前面的条件不符合则后面的便不判断


位运算符:是直接对二进制进行运算
<<左移
3<<2=12-->3*2*2=12
0000-0000 0000-0000 0000-0000 0000-0011 3的二进制
0000-0000 0000-0000 0000-0000 0000-1100 3左移两位后的二进制12
>>右移
6>>2=1-->6/2/2=1
0000-0000 0000-0000 0000-0000 0000-0110 6的二进制
0000-0000 0000-0000 0000-0000 0000-0001 6右移两位后的二进制1
>>>无符号右移:被移动二进制最高位无论是0或1,空缺位都用0补
&与运算
6&3=2
 0000-0000 0000-0000 0000-0000 0000-0110 6的二进制
&0000-0000 0000-0000 0000-0000 0000-0011 3的二进制
-------------------------------------------
 0000-0000 0000-0000 0000-0000 0000-0010 2的二进制
|或运算
6|3=2
 0000-0000 0000-0000 0000-0000 0000-0110 6的二进制
|0000-0000 0000-0000 0000-0000 0000-0011 3的二进制
-------------------------------------------
 0000-0000 0000-0000 0000-0000 0000-0111 7的二进制
^异或运算
6^3=2
 0000-0000 0000-0000 0000-0000 0000-0110 6的二进制
^0000-0000 0000-0000 0000-0000 0000-0011 3的二进制
-------------------------------------------
 0000-0000 0000-0000 0000-0000 0000-0101 5的二进制
~反码


三元运算符
格式:(条件表达式)?表达式1:表达式2;
条件表达式为true执行表达式1,为false执行表达式2
int x=3,y=4,z;
z=(x>y)?x:y;


流程控制
1、判断结构
if(条件)
{
   代码块
}


if(条件)
{
   代码块
}else
{
   代码块
}


if(条件)
{
   代码块
}else if(条件)
{
   代码块
}...
else
{
   代码块
}


2、选择结构
switch(表达式)
{
case num1:
    代码块;
   break;
case num:2
    代码块;
   break;
......
default:
    代码块;
            break;
}


3、循环结构
while(表达式)
{
代码块;
}


do
{
代码块;
}while(表达式)


for(初始化表达式;循环表达式;循环后表达式)
{
代码块;
}


小结: 在if和switch之间,如果需要判断的条件在区间之间则选择if,如果是具体的确定数值选用switch。在for和while之间当循环的次数不限定时用while当循环次数需要控制时用while。do while和while的却别是do while是无论是否满足条件都会先执行一次代码块。而while则只有满足条件才会开始执行。


break(跳出)和continue(继续)
break应用于:选择结构和循环结构
continue应用于:循环结构
区别:break是直接跳出循环相当结束当前这层循环,而continue则是跳过本次循环执行下次循环,但任然在循环内。


如果有多层循环嵌套,要跳出除多层循环则需要用到标号(标号只用于循环),如
w:for(int x=0;x<3;x++)
{
q:for(int y=0;y<5;y++)
{
System.out.println("sdfs");
break w;
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值