摘要:
1、关键字 2、标识符 3、注释 4、常量和变量 5、运算符 6、语句 7、函数 8、数组
① 标识符定义规则与规范
② 整数常量进制表示
八进制 0 开头
十六进制 0X 或 0x 开头
二进制 0b 或 0B 开头 (Java SE 7 后开始支持)
③ 八大基本数据类型
整数: byte(1)、short(2)、int(4)、long(8)
浮点数: float(4)、double(8)
字符: char(2)
布尔: boolean
④ 类型转换
自动类型提升、强制类型转换
⑤ 运算符
1、关键字
被java语言赋予特殊含义的单词(小写)。
2、标识符
程序中自定义的一些名称。
规则:
(1)由 26 个英文字母大小写、数字 0~9、下划线 _ 、美元符号 $ 组成。
(2) 数字不可以开头,不可以使用关键字。
规范:
(1) 包名:全部小写xxxyyyzzz
(2) 类名、接口名:由多个单词组成,单词首字母大写XxxYyyZzz
(3) 变量名、函数名:由多个单词组成,除首个单词首字母小写外,后面单词首字母大写xxxYyyZzz
(4) 常量:全部大写,多个单词之间以下划线隔开XXX_YYY_ZZZ
3、注释
4、常量和变量
(一)常量
(1) 整数常量
①十进制
②八进制,0开头,1位等于二进制中的3位
③十六进制,0x开头,1位等于二进制中的4位
④二进制,1字节8位二进制
进制越大,表现形式越短
进制转换
十进制 --> 二进制(除以2求余)
二进制 --> 十进制(乘2)
负数的二进制,由整数的二进制取反+1
负数最高位为1
二进制 --> 十六进制(四位二进制表示一位十六进制)
二进制 --> 十六进制(三位二进制表示一位十六进制)
/**
常量和进制
*/
public class ConstantDemo {
public static void main(String[] args) {
// 6 的二进制 110
System.out.println(Integer.toBinaryString(6));
// -6 的二进制 11111111111111111111111111111010
System.out.println(Integer.toBinaryString(-6));
// JavaSE 7 开始支持二进制常量
System.out.println(Integer.toBinaryString(0b100));
System.out.println(Integer.toBinaryString(0B100));
// 十六进制的表示
System.out.println(Integer.toBinaryString(0x10));
System.out.println(Integer.toBinaryString(0X10));
// 八进制
System.out.println(Integer.toBinaryString(010));
}
}
(2) 小数常量
(3) 布尔类型常量 ture、false
(4) 字符常量 用 ' ' 标识
(5) 字符串常量 用" " 标识
(6) null 常量
(二) 变量
Java是强类型语言,通过明确数据类型、变量名称和数据来开辟命名空间
概念:
内存中的一个存储区域,该区域有自己的名称(变量名)和类型(数据类型)
该区域的数据可以在同一类型范围内不断变化
用来不断的存放同一类型的常量,并可以重复使用
使用变量注意: 变量的作用范围(一对{}之间有效) 初始化值
基本变量类型:
整数:byte(1)、short(2)、int(4)、long(8)
浮点数:float(4)、double(8)
字符:char(2)
布尔:boolean
注意:整数默认情况下是 int 类型。小数默认情况下为 double 类型。
引用数据类型
类 class
接口 interface
数组 []
每种数据类型占用存储空间大小不变性是Java程序比其他大多数语言编写的程序更具有可移植性的原因之一。
(三) 类型转换
自动类型转换(隐式类型转换、自动类型提升)
表达式的数据类型自动提升:所有的 byte 型、short 型和 char 的值将被提升到 int 型。
强制类型转换(显式类型转换)
/**
类型转换
整数默认情况下是 int 类型。小数默认情况下为 double 类型。
*/
public class VarDemo {
public static void main(String[] args) {
short s = 30000; // short -32768~32767
long l = 4;
System.out.println(l);
l = 4l; // 定义为长整型。l 可省略
System.out.println(l);
// float f = 2.4; // 编译不通过,可能损失精度。
float f = 2.3f; // 默认情况下,小数是double型
double d = 2.3;
char ch = '4';
boolean bo = true;
boolean bo1 = false;
byte b = 3;
// b = b + 2; // 编译失败,可能损失精度
// 默认情况下,整数是int
b = (byte)(b + 2); //强制类型转换
System.out.println(b);
System.out.println('a');
System.out.println('a' + 1); // char 提升为 int 类型
System.out.println((char)('a' + 1)); //强制类型转换
}
}
5、运算符
(1) 算数运算符 (Arithmetic Operation)
% 取模负数时只看被模,即左边
+ 字符串连接符。字符串数据 和 任何数据使用 + 相连接,最后都会变成字符串
/*
算数运算符
转义字符
*/
class ArithmeticOperator
{
public static void main(String[] args)
{
// % 取模
System.out.println(1%-5);
System.out.println(-1%5); //取模负数时只看被模,即左边
// 字符串连接符
// 字符串数据 和 任何数据使用 + 相连接,最后都会变成字符串
System.out.println("5+5" + 5 + 5); //"5555"
/*
转义字符,通过 \ 来转变后面字母或者符号的含义
\n 换行
\b 退格,相当于backspace
\r 按下回车。Window系统中,回车符是由两个字符表示的,\r\n.
\t 制表符,相当于tab键
*/
System.out.println("Hello \n world");
System.out.println("Hello\bworld");
System.out.println("Hello World \r java"); //回车后,\r前的字符串被后面的字符串覆盖
System.out.println("Hello \t world");
System.out.println("\"Hello\"world");
System.out.println("\\Hello\\world");
char cn = '\n';
char cn1 = '\'';
char cn2 = '你'; //可以使用多种方式为char类型赋值
}
}
(2) 赋值运算符 (Assignment Operator)
= , +=, -=, *=, /=, %=
/**
赋值运算符
*/
public class AssignmentOperator {
public static void main (String[] args) {
char c = 95;
// c = c + 5; // 编译不通过
c += 5; // 赋值语句,自动转换
System.out.println("c = " + c);
int a,b;
a = b = 5; // 同时给a,b赋值,为5
System.out.println("a = " + a + ", " + "b = " + b);
}
}
(3) 比较运算符 (Comparison Operator)
(4) 逻辑运算符 (Logical Operator)
& 与 (AND)
| 或 (OR)
! 非 (NOT)
^ 异或 (XOR)
&& 与 (AND) 当左边为假,则右边不运算
|| 或 (OR) 当左边为真,则右边不运算
相对 &、| 而言,&&、|| 运算效率较高。后面条件可能不执行,而对程序产生一定影响(Short-circuiting,短路)
(5) 位运算符 (Bitwise Operator)
移位运算对于数值运算是最快的
<< 左移,乘以2的移动的位数次幂
>> 右移,除以2的移动的位数次幂
>>> 无符号右移
>> 和 >>> 的区别
>>最高位由原首位决定移位填充值
>>> 最高位补0
& 与
| 或
^ 异或
~ 反码
1、由 -6 = ~6 + 1 ,得~6 = -7
2、一个数异或同一个数两次,值不变 ( 用于加密、交换数据)
对两个整数变量的值进行交换(不需要第三方变量):http://www.cnblogs.com/Ashia/archive/2012/04/29/2476444.html
/**
需求 : 10进制转换为16进制,使用移位和与的方法
思路 : int 占4字节内存。共 32 位
&15,取后四位。转化为 十六进制数
*/
public class HexConverter {
public static void main (String[] args) {
int i = -311;
System.out.println(converter1(i));
System.out.println(converter2(i));
}
public static String converter1 (int i) {
String result = "";
// 循环直到所有 i 右移为 0
while (i != 0) {
int temp = i & 15;
if (temp <= 9) {
result = temp + result;
} else {
result = (char)(temp - 10 + 'a') + result;
}
// 无符号右移。防止负数时 i 无法到0
i = i >>> 4;
}
if (result == "") {
result = "0";
}
return result;
}
public static String converter2 (int i) {
// 使用 java 提供的 api 进行进制转换
return Integer.toHexString(i);
}
}
(6) 三元运算符 (TernaryOperator)
( 条件表达式 ) ? 表达式一 :表达式二
好处:可以简化 if ... else ...
弊端: 运算结果是一个表达式。必须赋值给变量等。
可读性较低
6、语句
7、函数
8、数组
分享到:
相关推荐
《Java编程基础》-曹静-电子教案-5589 第1章 引言 第2章 开发Java程序 第3章 类和对象第4章 Java语言基础第5章 深入讨论类 第6章 程序的流程控制 第7章 数组
Java编程基础PPT,专门介绍Java基础和一些资料
Doc文档,解压后8.08Mb,java语法大全,java语法,java编程基础,java入门
Java编程基础.pdf
Java编程基础课设 Java打字游戏.zipJava编程基础课设 Java打字游戏.zip 、Java编程基础课设 Java打字游戏.zipJava编程基础课设 Java打字游戏.zip Java编程基础课设 Java打字游戏.zipJava编程基础课设 Java打字游戏....
Java 编程基础 实验手册Java 编程基础 实验手册
java编程基础,简单易懂,适合初学者。“JAVA是有SUN公司开发的新一代编程语言,它可以用在...”
java编程基础教程pdf
《Java编程基础》电子教案是一个很好的学习软件,比较容易学,深入浅出!
java编程基础及应用ppt 内容清晰 制作精美
完整版 Java编程基础入门教程 Java语言程序设计 第10章_网络编程(共68页).ppt 完整版 Java编程基础入门教程 Java语言程序设计 第11章_数据库的连接(共36页).ppt 完整版 Java编程基础入门教程 Java语言程序设计 ...
java编程基础.rar
资源名称:Java编程基础知识变量与数据类型资源目录:【】11957c6aed0bbd30e284837b53bc3a6f【】2.Java编程基础知识变量与数据类型1.数据类型初阶【】2.Java编程基础知识变量与数据类型10.浮点类型【】2.Java编程...
Java编程基础常识.pdf
徐明浩 java 编程基 础应用与实例 徐明浩java编程基础应用与实例、 徐明浩java编程基础应用与实例
java编程基础、应用与实例,适合初学者。
Java编程实训 Java开发基础入门教程1-02 Java编程基础(共61页).ppt Java编程实训 Java开发基础入门教程1-03 自定义方法(共14页).ppt Java编程实训 Java开发基础入门教程1-04 面象对象编程初步-类和对象(共54页...
《Java编程基础》-曹静-源代码 供大家学习参考