黑马程序员---Java基础语法
来源:互联网 发布:unity3d 精灵动画 编辑:程序博客网 时间:2024/05/01 18:26
关于Java中的基础语法
--------- android培训、java培训、java学习型技术博客、期待与您交流! ------------
1:关键字(掌握)
(1)被Java语言赋予特殊意义的单词。
(2)特点:
Java语言中的所有关键字全部是小写。
(3)注意事项:
goto和const作为保留字(在JDK的新版本中可能提升为关键字)存在。没有被使用。
2:标识符(掌握)
(1)就是给类,变量,方法起名字。
(2)组成规则:
由数字0-9,英文大小写字母,$以及_组成。
(3)注意事项:
A:只能有组成规则规定的内容组成。
B:不能以数字开头。
C:不能是Java中的关键字。
D:区分大小写。
(4)常用的命名规则:见名知意,驼峰命名
A:包(文件夹,用于区分同名的类)
全部小写。如果多级包,用.分开。
举例:
com 一级包
cn.itcast 二级包
注意:www.itcast.cn(域名反写)
B:类和接口
如果是一个单词,首字母大写。
举例:Demo,Test,Student
如果是多个单词,每个单词的首字母大写。大驼峰式
举例:HelloWorld,StudyJava
C:变量和方法
如果是一个单词,首字母小写。
举例:main,name,age
如果是多个单词,从第二个单词开始每个单词的首字母大写。小驼峰式
举例:showName(),studentName
D:常量
全部大写,如果多个单词组成,用_连接。
举例:PI,STUDENT_MAX_AGE
3:注释(掌握)
(1)就是对程序的解释性文字。
(2)注释的分类:
A:单行注释
a:以//开头,以回车结束。
b:单行注释是可以嵌套的。
B:多行注释
a:以/*开头,以*/结束。
b:多行注释是不可以嵌套的。
C:文档注释(了解)
将来被javadoc工具解析,生成一个说明书。
(3)注释的作用:
A:解释程序,提高程序的阅读性。
B:可以调试错误。
(4)把HelloWorld案例用注释改版。
建议先写思路,在写代码体现。
4:常量(理解)
(1)在程序的运行过程中,其值是不可以发生改变的量。
(2)常量的分类:
A:字面值常量
a:整数常量
12,-23
b:实数常量
12.5,-65.43
c:字符常量
'a','A','0'
d:字符串常量
"hello"
e:布尔常量
true,false
d:空常量(后面讲)
null
B:自定义常量(后面讲)
(3)常量可以直接被输出。
5:进制(理解)
(1)是一种进位的方式。X进制,表示逢x进1。
(2)Java中整数常量的表示
int a = 15;
int a = 0b1111;
int a = 017;
int a = 0xF;
A:二进制 由0,1组成。以0b开头。JDK7以后的新特性。
B:八进制 由0-7组成。以0开头。
C:十进制 由0-9组成。默认就是十进制。
D:十六进制 由0-9,A-F(不区分大小写)组成,以0x开头。
(3)进制转换:
A:其他进制到十进制
系数:就是每一位上的数据。
基数:X进制,基数就是X。
权:在右边,从0开始编号,对应位上的编号即为该位的权。
结果:把系数*基数的权次幂相加即可。
二进制:1011
十进制:
八进制:74
十进制:
十六进制:a3
十进制:
B:十进制到其他进制
除基取余,直到商为0,余数反转。
十进制:60
结果:
二进制
八进制
十六进制
C:快速转换
a:8421码。
b:二进制--八进制(3位组合)
c:二进制--十六进制(4位组合)
6:变量(掌握)
(1)程序的运行过程中,在指定范围内发生改变的量。
(2)格式:
数据类型 变量名 = 初始化值;
变量的定义格式:
数据类型 变量名;
变量名 = 初始化值;
数据类型 变量名 = 初始化值;
举例:
方式1: byte b = 10;
方式2: byte b;
b = 10;
7:数据类型(掌握)
(1)分类
基本类型:4类8种。
引用类型:类,接口,数组。(了解)
(2)基本类型
整型:
byte 1
short 2
int 4
long 8
浮点型:
float 4
double 8
字符型:
char 2
布尔型:
boolean 不明确。可以认为是1个字节。
注意:
整数默认是int类型。long类型需要加L或者l后缀。
浮点数默认是double类型。float类型需要加F或者f后缀。
(3)类型转换
A:boolean类型不参与转换。
B:隐式转换(自动类型转换)(从小到大)
byte,short,char -- int -- long -- float -- double
C:强制转换(从大到小)
格式:
(数据类型)数据;
(4)面试题
byte b1 = 3;
byte b2 = 4;
byte b3 = b1 + b2;
byte b4 = 3 + 4;
8:运算符(掌握)
(1)就是把常量和变量连接的符号,一般参与运算使用。
(2)分类:
算术运算符
赋值运算符
关系运算符
逻辑运算符
位运算符
三元运算符
(3)算术运算符
+,-,*,/,%,++,--
+:正号,加法,字符串连接符。
System.out.println("5+5="+5+5);//5+5=55
System.out.println(5+5+"=5+5");//10=5+5
%:取得余数
左边如果大于右边,结果是余数。
左边如果小于右边,结果是左边。
左边如果等于右边,结果是0。
正负号跟左边一致。
++/--:
++ 其实相当于把数据+1
单独使用:
在数据的前后,结果一致。
参与操作使用:
如果在数据的后边,数据先操作,在++/--
如果在数据的前边,数据先++/--,再操作。
(4)赋值运算符
=,+=,-=,*=,/=,%=
int a = 10;
把10赋值给int类型的变量a。
a += 20;
把左边和右边的和赋值给左边。
注意事项:
a = a + 20;
a += 20;
结果是等价的,理解不是等价的。
因为+=这种运算符,内含了强制类型转换功能。
比如:
short s = 2;
s+=3;
等价于
s = (short)(s+3);
//=============================================
9:运算符二(掌握)
(1)关系运算符
==,!=,>,>=,<,<=
特点:关系运算符的结果都是boolean类型。
请千万注意:== 不要写成 =
(2)逻辑运算符
&,|,!,^,&&,||
&:有false则false
|:有true则true
!:true变false,false变true
^:相同false,不同true
&&:有false则false
||:有true则true
&&和&的区别是:如果左边有false了,右边将不再执行。
||和|的区别是:如果左边有true了,右边将不再执行。
开发中常用:
&&,||,!
(3)位运算符(了解)
^ : 一个数据对同一个数据^两次,结果还是数据本身。
举例:a ^ b ^ b = a
(4)三元运算符
格式:
条件表达式?表达式1:表达式2
执行流程:
根据条件表达式返回的是true还是false,决定结果是什么。
如果是true,就把表达式1作为结果。
如果是false,就把表达式2作为结果。
举例:
int a = 100;
int b = a > 50 ? 200 : 100;
请问b的值?200
10:if语句(掌握)
(1)用于做判断使用的。
常见于对某个范围进行判断,或者几个变量进行判断,还有就是boolean表达式的判断。
(2)格式:
A:第一种格式
if(条件表达式)
{
语句体;
}
执行流程:
如果条件表达式为true,就执行语句体;
否则,什么都不执行。
B:第二种格式
if(条件表达式)
{
语句体1;
}
else
{
语句体2;
}
执行流程:
如果条件表达式为true,就执行语句体1;
否则,就执行语句体2;
特殊:
可以和条件表达式在某些情况下进行替换。
一般是在赋值的情况下可以。
举例:
获取两个数中的最大值。
C:第三种格式
if(条件表达式1)
{
语句体1;
}
else if(条件表达式2)
{
语句体2;
}
...
else
{
语句体n;
}
执行流程:
如果条件表达式1为true,就执行语句体1;
如果条件表达式2为true,就执行语句体2;
...
否则,就执行语句体n;
D:注意事项
a:什么时候时候哪一种if语句。
第一种格式在判断条件为一种情况下使用。
第二种格式在判断条件为两种情况下使用。
第三种格式在判断条件为多种情况下使用。
b:每一种if语句其实都是一个整体,如果有地方执行了,
其他的就不执行了。
c:如果if或者else里面控制的语句体是一条语句,是可以省略大括号的,
但是,如果是控制多条语句,就必须写上大括号。
建议:永远写上大括号。
d:大括号和分号一般不同时出现。
E:作用域
所有变量的定义只在它所属的大括号内有效。
(3)案例:
A:根据键盘录入的成绩,判断等级。
B:根据键盘录入的月份,输出该月份所对应的季节。
11:switch语句(掌握)
(1)用于做选择使用的。一般用于几个常量的判断。
switch会把几个常量值直接加载到内存,在判断的时候,效率要比if高。
所以,针对几个常量的判断,一般选择switch语句。
(2)switch语句的格式:
switch(表达式)//byte,short,int,char,String
{
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
case 值3:
语句体3;
break;
...
default:
语句体n;
break;
}
A:针对格式的解释
switch:表示这里使用的是switch语句,后面跟的是选项。
表达式:byte,short,int,char
JDK5以后可以是枚举(就业班讲)
JDK7以后可以是字符串(后面讲)
case:表示这里就是选项的值,它后面的值将来和表达式的值进行匹配。
case后面的值是不能够重复的。
break:
switch语句执行到这里,就结束了。
default:
当所有的case和表达式都不匹配的时候,就走default的内容。
它相当于if语句的else。一般不建议省略。
B:执行流程
进入switch语句后,就会根据表达式的值去找对应的case值。
如果最终没有找到,那么,就执行default的内容。
C:注意事项:
a:default整体可以省略吗?
可以,但是不建议。
b:default的位置可以放到前面吗?
可以,但是不建议。
c:break可以省略吗?
可以,但是不建议。
default在最后,break是可以省略的。
case后面的break可以省略,但是结果可能有问题。
d:switch语句什么时候结束呢?
就是遇到break或者执行到程序的末尾。
12:Scanner的使用(掌握)
(1)Scanner是JDK5以后设计的用来接收键盘录入数据使用的。
(2)目前我们要通过键盘录入int类型数据,必须按照如下步骤:
A:导包
import java.util.Scanner;
B:创建对象,封装键盘录入
Scanner sc = new Scanner(System.in);
C:调用方法,获取数据
int number = sc.nextInt();
//===========================================================
类型转换:
byte short char 类型在运输过程中都会类型提升为int 型
这叫做表达式类型自动提升,也叫隐式类型转换
我们可以将一个int型强转换为byte short char 类型,但是有可能丢失精度
这个叫隐式类型转换
*/
class Demo
{
public static void main(String args[])
{
int num = 98;//在内存中开辟一块4字节的空间。存放一个int型的常量98
byte b = 0; //占1个字节
short s =0; //占2个字节
long l = 13;//占8个字节
float = 3.3f;//单精度浮点数。占4个字节
double d =3.3;//双精度浮点数,占8个字节
char c = 'a'; //字符型,占两个字节
boolean b = false; //占一个字节
byte b =98;
byte b2 =1;
b = (byte)(b+b2)
int num = 98;
byte b1 = (byte)num;
System.out.ptirntln(b1);
}
}
Ø自动类型转换(也叫隐式类型转换)
Ø强制类型转换(也叫显式类型转换)
Ø类型转换的原理及什么时
候要用强制类型转换
Ø表达式的数据类型自动提升
•所有的byte型、short型和char的值将被提升到int型。
•如果一个操作数是long型,计算结果就是long型;
•如果一个操作数是float型,计算结果就是float型;
•如果一个操作数是double型,计算结果就是double型。
Ø分析 System.out.println(‘a’+1)与 System.out.println(“”+’a’+1) 的区别。
//======================
变量的生命周期
变量的声明周期: 在方法内定义的变量,在方法被执行的时候才定义,并完成初始化
赋值,当方法执行完毕时,变量所占的空间会随之释放。这期间就是变量的声明周期
变量的作用域: 就看变量是在哪一级花括号中定义的。
在变量的作用域范围,可以任意地访问变量,但是不能重复定义相同名称的变量
变量的生命周期:在方法内定义的变量,当方法被调用的时候,变量被定义,当方法调用结束的时候,变量会随之释放。这期间,我们成为变量的生命周期,也就是变量的作用域,
变量的作用域内不允许重复定义变量,超出变量的作用域
例子:
/*
{
int x= 9; 可以
{
int x= 10;不行重复定义
x++;可以
int y =9;可以
y++;可以
}
y++;超出作用域
int y =7;
x++;
}
*/
--------- android培训、java培训、java学习型技术博客、期待与您交流! ------------
0 0
- 黑马程序员---基础语法【java】
- 黑马程序员---Java基础语法
- 黑马程序员---java基础语法
- 黑马程序员---java---基础语法
- 黑马程序员 java基础语法
- 黑马程序员 java语法基础
- 黑马程序员-Java基础语法
- 黑马程序员--java基础语法
- 黑马程序员---Java基础语法
- 黑马程序员-Java语法基础
- 黑马程序员--java基础语法
- 黑马程序员-java基础语法
- 黑马程序员 -----java基础语法
- 黑马程序员-java语法基础
- 黑马程序员----JAVA基础语法
- 黑马程序员-------java语法基础
- 黑马程序员------java基础语法
- 【黑马程序员】JAVA基础语法
- Yarn的ApplicationMaster管理
- 开源中国maven库
- Webdnpro UI控件开发篇 Table控件使用一
- 算法9-2:最大流Ford-Fulkerson算法
- 开启 J2EE(五)— Servlet之状态管理
- 黑马程序员---Java基础语法
- 分享一百多套开发视频教程的下载地址
- visual applet
- 算法9-3:最大流和最小切割的理论
- Android Studio 快捷键整理分享-SadieYu
- Ubuntu下 数据库超时处理
- 黑马程序员--原码, 反码, 补码 详解
- 突袭中关村
- 【HTML、JAVASCRIPT、CSS】2、HTML语言入门2