摘要:
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编程基础》电子教案是为初学者设计的一份详尽的教学资料,旨在帮助学习者系统地掌握Java编程语言的基础知识。这份教案以其易学性和深入浅出的特点,深受广大编程爱好者欢迎。以下是对这份教案可能包含的重要...
这份"java语法大全"文档,结合了“java语法”,“java编程基础”,以及“java入门”等核心主题,旨在为初学者提供全面的学习资源,帮助他们理解和掌握Java语言的基本概念和高级特性。 首先,Java语法是学习Java的...
《Java编程基础》-曹静-电子教案-5589 第1章 引言 第2章 开发Java程序 第3章 类和对象第4章 Java语言基础第5章 深入讨论类 第6章 程序的流程控制 第7章 数组
Java编程基础课设 Java打字游戏.zipJava编程基础课设 Java打字游戏.zip 、Java编程基础课设 Java打字游戏.zipJava编程基础课设 Java打字游戏.zip Java编程基础课设 Java打字游戏.zipJava编程基础课设 Java打字游戏....
《徐明浩java编程基础应用与实例代码》是针对初学者和有一定经验的Java程序员的一份宝贵资源,它深入浅出地介绍了Java编程的基础概念和实际应用。通过徐明浩先生的专业指导,读者可以系统性地掌握Java语言的核心要素...
《Java编程基础》是计算机科学领域的一门重要课程,由曹静老师编写的源代码旨在帮助初学者理解和掌握Java编程语言的基本概念、语法结构以及实际应用。这份资料包含的源代码是学习Java编程的宝贵资源,可以加深对理论...
Java编程基础、应用与实例是学习Java这门广泛使用的编程语言的理想起点,尤其适合初学者。这个压缩包可能包含了各种教程、示例代码和实践项目,帮助初学者从零开始理解Java的核心概念,并逐步掌握其实际应用。 1. *...
完整版 Java编程基础入门教程 Java语言程序设计 第10章_网络编程(共68页).ppt 完整版 Java编程基础入门教程 Java语言程序设计 第11章_数据库的连接(共36页).ppt 完整版 Java编程基础入门教程 Java语言程序设计 ...
资源名称:Java编程基础知识变量与数据类型资源目录:【】11957c6aed0bbd30e284837b53bc3a6f【】2.Java编程基础知识变量与数据类型1.数据类型初阶【】2.Java编程基础知识变量与数据类型10.浮点类型【】2.Java编程...
Java编程基础
完整版 Java编程基础入门教程 Java语言程序设计 第10章_网络编程(共68页).ppt 完整版 Java编程基础入门教程 Java语言程序设计 第11章_数据库的连接(共36页).ppt 完整版 Java编程基础入门教程 Java语言程序设计 ...
《Java编程基础知识点汇总及《JAVA程序设计》习题集》--答案
完整版 Java编程基础入门教程 Java语言程序设计 第10章_网络编程(共68页).ppt 完整版 Java编程基础入门教程 Java语言程序设计 第11章_数据库的连接(共36页).ppt 完整版 Java编程基础入门教程 Java语言程序设计 ...
java编程基础
完整版 Java编程基础入门教程 Java语言程序设计 第10章_网络编程(共68页).ppt 完整版 Java编程基础入门教程 Java语言程序设计 第11章_数据库的连接(共36页).ppt 完整版 Java编程基础入门教程 Java语言程序设计 ...
Java编程基础是编程学习的重要部分,它为程序员进入软件开发领域提供了坚实的基石。在这个Java编程基础课件中,我们将会探讨一系列关键知识点,包括Java语言的起源、特性、环境搭建,以及基本语法元素。 首先,Java...
【Java编程基础】是计算机科学领域的一门重要课程,尤其对于初学者而言,它是进入软件开发世界的敲门砖。Java以其“一次编写,到处运行”的跨平台特性,以及丰富的类库和强大的社区支持,成为了全球范围内广泛使用的...
此ppt是java编程基础相关的知识点,ppt详细的介绍了java相关的基础知识,简单容易理解
Java编程基础教程是初学者踏入Java世界的一把钥匙,它涵盖了所有必要的基础知识,旨在帮助学习者建立起坚实的编程技能。这个教程以清晰、易懂的方式展开,确保初学者能够轻松理解和应用所学知识。 首先,Java编程...
Java编程基础3套期末考试卷AB卷带答案-模拟测试题.doc