1.1 关键字
关键字:其实就是某种语言赋予了特殊含义的单词。
保留字:其实就是还没有赋予特殊含义,但是准备日后要使用过的单词。
1.2 标识符
1.2.1 定义及特点
定义:在程序中自定义的一些名称,例如:类名。
特点:由26个英文字母大小写,数字:0-9,符号:_ $ 组成。
1.2.2 定义合法标识符规则
1. 数字不可以开头,例如:2Demo就不可以。
2. 不可以使用关键字,例如:public就不可以,因为public是关键字。
标示符:其实就是在程序中自定义的名词。比如类名,变量名,函数名。包含0-9、a-z、$、_ ;
注意:
1),数字不可以开头。
2),不可以使用关键字。
1.2.3 Java中的名称规范
包名:多单词组成时所有字母都小写。
例如:xxxyyyzzz
类名接口名:多单词组成时,所有单词的首字母大写。
例如:XxxYyyZzz
变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写。
例如:xxxYyyZzz
常量名:所有字母都大写。多单词时每个单词用下划线连接。
例如:XXX_YYY_ZZZ
1.3 常量
1.3.1 定义
常量表示不能改变的数值。
1.3.2 Java中常量的分类
1. 整数常量:所有整数。
2. 小数常量:所有小数。
3. 布尔(boolean)型常量:只有两个数值:true、false。
4. 字符常量:将一个数字字母或者符号用单引号( ' ' )标识,如:'a'。
5. 字符串常量:将一个或者多个字符用双引号("")标识,如:"hello world"、"a"、""(空字符串)。
6. null常量:只有一个数值就是:null。
1.3.3 进制的由来
对于整数,有四种表现形式:
二进制:0-1,满2进1。
八进制:0-7,满8进1,用0开头表示,如:012。
十进制:0-9,满10进1。
十六进制:0-9,A-F,满16进1,用0x开头表示。如:0x4a2c。
1.4 变量
1.4.1 变量的定义和变量的使用
变量:其实就是内存中的一个存储空间,用于存储常量数据。
作用:方便于运算。因为有些数据不确定。所以确定该数据的名词和存储空间。
特点:变量空间可以重复使用。
定义变量的格式:
数据类型 变量名 = 初始化值;
例如:int b = 3;
什么时候定义变量?只要是数据不确定的时候,就定义变量。
变量空间的开辟需要什么要素呢?
1,这个空间要存储什么数据?数据类型。
2,这个空间叫什么名字啊?变量名称。
3,这个空间的第一次的数据是什么?变量的初始化值。
1.4.2变量的作用域和生存期:
变量的作用域:
作用域从变量定义的位置开始,到该变量所在的那对大括号结束;
生命周期:
变量从定义的位置开始就在内存中活了;
变量到达它所在的作用域的时候就在内存中消失了;
1.4.3 数据类型类型的转换
1):基本数据类型:byte、short、int、long、float、double、char、boolean
2):引用数据类型: 数组、类、接口。
级别从低到高为:byte,char,short(这三个平级)-->int-->float-->long-->double
自动类型转换:从低级别到高级别,系统自动转的;
强制类型转换:什么情况下使用?把一个高级别的数赋给一个别该数的级别低的变量;
1.4.4 运算符号:
1)、算术运算符。
+- * / % %:任何整数模2不是0就是1,所以只要改变被模数就可以实现开关运算。
+:连接符。
++,--
2)、赋值运算符。
= += -= *= /= %=
3)、比较运算符。
特点:该运算符的特点是:运算完的结果,要么是true,要么是false。
4)、逻辑运算符。
& | ^ ! && ||
逻辑运算符除了 ! 外都是用于连接两个boolean类型表达式。
&:只有两边都为true结果是true。否则就是false。
|:只要两边都为false结果是false,否则就是true
^:异或:和或有点不一样。
两边结果一样,就为false。
两边结果不一样,就为true.
& 和 &&区别: & :无论左边结果是什么,右边都参与运算。
&&:短路与,如果左边为false,那么右边不参数与运算。
| 和|| 区别:|:两边都运算。
||:短路或,如果左边为true,那么右边不参与运算。
5)、位运算符:用于操作二进制位的运算符。
& | ^
<< >> >>>(无符号右移)
2、 编程计算3乘8等于几,什么方法效率更高?
package com.itheima;
/**
* 2.编程计算3乘8等于几,什么方法效率更高?
* @author chenpeng
*
**/
public class Test2 {
public static void main(String args[]){
//采用移位运算输出结果
System.out.println(3<<3);// 左移相当于乘. 左移一位相当于乘2(2^1);左移两位相当于乘4(2^2);左移三位相当于乘8(2^3)
}
}
左移相当于乘,每左移n位就相当于是乘2的n次方。这一点在视频中讲的很详细了。其效率高是因为直接操作数据中的每一位。而使用其他常量或者变量进行运算之后得到结果的效率明显没有直接操作数据中的每一位的效率更高
1.5 语句
If switch do while while for
这些语句什么时候用?
1)、当判断固定个数的值的时候,可以使用if,也可以使用switch。
但是建议使用switch,效率相对较高。
switch(变量){
case 值:要执行的语句;break;
…
default:要执行的语句;
}
工作原理:用小括号中的变量的值依次和case后面的值进行对比,和哪个case后面的值相同了
就执行哪个case后面的语句,如果没有相同的则执行default后面的语句;
细节:1):break是可以省略的,如果省略了就一直执行到遇到break为止;
2):switch 后面的小括号中的变量应该是byte,char,short,int四种类型中的一种;
3):default可以写在switch结构中的任意位置;如果将default语句放在了第一行,则不管expression与case中的value是否匹配,程序会从default开始执行直到第一个break出现。
2)、当判断数据范围,获取判断运算结果boolean类型时,需要使用if。
3)、当某些语句需要执行很多次时,就用循环结构。
while和for可以进行互换。
区别在于:如果需要定义变量控制循环次数。建议使用for。因为for循环完毕,变量在内存中释放。
break:作用于switch ,和循环语句,用于跳出,或者称为结束。
break语句单独存在时,下面不要定义其他语句,因为执行不到,编译会失败。当循环嵌套时,break只跳出当前所在循环。要跳出嵌套中的外部循环,只要给循环起名字即可,这个名字称之为标号。
continue:只作用于循环结构,继续循环用的。
作用:结束本次循环,继续下次循环。该语句单独存在时,下面不可以定义语句,执行不到。
/**打印出9*9的乘法口诀*/
public class HelloWorld {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//循环列
for(int i=1;i<10;i++)
{
//循环行
for(int j=1;j<=i;j++)
{
System.out.print(j+"*"+i+"="+i*j);
//输出空格
System.out.print(" ");
}
//换行
System.out.println(" ");
}
}
}
打印结果:
本章总结:
1)、在学习JAVA之前应该了解各个关键字的用法,这对后面的学习会铺垫好道路的。
2)、在使用标识符的过程中应该掌握使用规则,按照规则来命名:数字不可以开头、不可以使用关键字等作为标识符。
3)、类型转换:
小转大:自动数据类型提升;
大转小:要强转,强制类型的转换
4)、在运算符的使用过程中,一定要注意:&和 &&区别,| 和|| 区别。位运算符:用于操作二进制位的运算符。效率高是因为直接操作数据中的每一位。而使用其他常量或者变量进行运算之后得到结果的效率明显没有直接操作数据中的每一位的效率更高
5)、while和for循环是可以进行互换的,区别在于for为了循环而定义的变量在for循环结束就在内存中释放,而while循环使用的变量在循环结束后还是可以继续使用的;