Java基本语法
Posted zcq-test
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基本语法相关的知识,希望对你有一定的参考价值。
Java的基本语法
Java注释
java中有3中注释
单行注释://注释内容
多行注释:/*注释内容*/
其中文档注释可以利用javadoc.exe生成API文档
/*
* 实现步骤:
* 1.定义一个类 class
* 2.编写程序执行的入口方法,main主方法
* 3.通过输出语句System.out.println()将信息”HelloWorld!”打印在控制台上
*/
//定义一个类class
class HelloWorld{
//编写程序执行的入口方法main方法又叫做主方法
public static void main(String[] args){
//通过Java提供的输出语句,将信息"HelloWorld"打印在控制台上
System.out.println("HelloWorld");
}
}
其实注释就是做记录解释代码,建议大家今后在编码时先写思路、分析、步骤、然后再写代码。把思路、分析、步骤使用注释放在源码中。
Java关键字
? 关键字是被java语言赋予了特殊含义,具有专门用途的单词。比如 public、class、static 等这些都是设定好的。
? 这些关键字需要背诵吗?
? 我们HelloWorld.java案例中用到过哪些关键字?
标识符
? 标识符就是名称的意思,所有的名称都统称为标识符。java中经常要定义类、方法、变量(后面会学习到),在定义它们时总要给他们取名字,这些名字就是标识符。
? 标识符组成元素:
? *英文:a-zA-Z
? *数字: 0-9
? *符号: _ 与 $
? 标识符规则:
? *不能以数字开头
? *不可以使用关键字
? *遵循驼峰法则,比如 HelloWorld
? *尽量达到见名知意
数据
程序概述
软件是什么?
? 其实软件就是用来处理数据的。
? 软件的组成:
? *数据
? *处理数据的逻辑
? 程序 = 数据 + 逻辑
什么是数据?
? 用电商来举例子,用户是数据,商品也是数据。
处理数据的逻辑又是什么呢?
? 购买商品的过程就是处理数据的逻辑
? 程序的开发离不开数据,说白了程序就是处理数据的。通常数据会发生变化,而处理数据的逻辑不会发生改变。例如商品的数量、种类是会变化的,而买的流程是不会改变的。
数据类型
? 生活中的数据也是有类型的,例如 人名:汉字或者英文,年龄:数字
? 那么java中有哪些数据类型?他们分别是怎么表示的?
? java是强类型语言,对每一种数据都对应了明确的数据类型。下面是java中的数据类型
基本数据类型是java语言中内置的类型,分别是 整数类型、小数类型、字符类型、布尔类型。这四类基本类型是最简单、最基础的类型。
? 引用数据类型是强大的数据类型,它是基于基本数据类型创建的。JavaSE中提供了一个超级类库,类库中包含了近万种引用数据类型。不过现在我们先要学习的是基本类型!
常量
? Java中的数据量分为常量和变量,我们先来学习常量!
? 常量就是不变的数据量,例如666就是常量。任何数据量都有其类型,那么这个666又是什么类型呢?没错,就是整数类型!!!
? *整数类型: 18 、666 、1888等
? *小数类型: 1.8 、6.66、3.1415926等
? *字符类型: ‘a‘ 、‘A‘、‘0‘ 、‘中’等。(注意: 字符型是用 ‘ ‘ 包裹,并且里面只能写一个)
? *布尔类型: true(真)、false(假)
? *字符串类型: “我爱java”、“HelloWorld!!!”、“我爱编程,编程使我快乐!”
? ?字符串String 是一种应用类型,我们先了解作为常量的使用方式
? ?字符串必须用 " " 包裹,里面可以随意写东西
? 回顾我们HelloWorld案例,其中System.out.println("HelloWorld!!!")的圆括号里面是什么类型?
/*
*常量的演示
*/
public class Demo{
public static void main(String[] args){
//整数型
System.out.println(999);
System.out.println(6666);
//小数类型
System.out.println(2.9);
System.out.println(3.1415926);
//布尔类型
System.out.prinltn(true);//真
System.out.println(false);//假
//字符类型
System.out.println(‘S‘);
System.out.println(‘天‘);
//字符串类型
System.out.println("天天撸代码");
System.out.println("学习是快乐的事");
}
}
变量
变量的概述
? 前面我们已经学过了常量,现在来学习下变量。在java中变量的应用比常量应用要多很多,所以变量是非常重要的知识点!
? 什么是变量?
变量是一个内存中的小容器,什么是容器?例如 : 水杯是容器,用来装水;衣柜是容器,用来装衣服。那么变量是装什么的呢?答案是数据! 结论:变量是内存中装数据的小容器,你只能用它来存数据和取数据.
计算机的储存单元
? 变量是内存中的小容器,用来存储数据。那么计算机内存是怎么存储数据的呢?无论是内存还是硬盘,计算机的存储设备最小信息单元叫"位(bit)",我们又称之为”比特位“,通常用小写字母b表示。而计算机最小的存储单元叫"字节(byte)",通常用大写字母B表示,1个字节由8个位组成。
? 操作系统分派的最小存储空间是1个字节,而不是1位。
? 计算机除了字节与位外还有哪些存储单位,大家一起来看看!
? 1B(字节) = 8 bit
? 1KB = 1024B
? 1MB = 1024KB
? 1GB = 1024MB
? 1TB = 1024GB
? 1PB = 1024TB
基本类型之4类8种
? 衣柜不能用来装水,水杯也不能用来装衣服。这说明不同的容器装不同的物品。变量也是如此,在创建变量时需要指定变量的数据类型,例如 整型变量、浮点型变量等。
? 结论:变量必须要有明确的类型,什么类型的变量装什么类型的数据
? 水杯是用来装水的,那么装多少水呢?一吨?我们知道水杯在创建时不只确定了要装的是水(数据类型),而且还能确定装多少水(数据类型的具体种类)。变量也是如此,需要指定变量能装什么类型的数据,同时也要确定能装多大的数据
? java的基本类型一共4类,把这四类展开以后就是8种基本数据类型,我们今后写程序时用的是这8种基本类型,这8种基本类型也指定了范围。
char 字符型 ,2个字节 ,用单引号表示 ‘ ‘ ,刚好容纳一个汉字,注意:里面只能放一个
boolean 布尔型 ,一个字节 0000 0001 最低为表示,取值(布尔值) :true(真) 和 false(假)
? E : 123E5 = 123 * 10^5 = 12300000 , 123E-5 = 123 * 10^-5 = 0.0123
? e : 自然常数,约 2.718281828
常量与类型
? 我们前面说666是整数常量,但它是byte、short、int、long里面的哪一种呢?下面我们就来聊聊这一常量类型的问题。
? ?在Java中默认的整数类型是int类型
? 例如: 666 、 888
? ?在Java中如果是long类型的值后面需要加L(大小写都可以,建议大写)
? 例如: 13456789123L 、100L
? ?在Java中小数默认是double类型
? 例如: 1.888、3.123456
? ?在Java中如果是float类型的值后面需要加上F(大小写都可以建议大写)
? 例如: 1.5F、6.8888F
定义变量的语法:
? 数据类型 变量名 = 数据值;
? int a = 100;(用分号结束)
? 解释int a = 100; 把值为100的整数赋值给变量a,其中100在int类型的取值范围以内。
? 练习:要求:写出代码运行起来,并且能够解释每行代码的意思。
public class Variable{ public static void main(String[] args){ int a = 100; System.out.println(a); double b = 6.79; System.out.println(b); char c = ‘稳‘; System.out.println(c); String d = "今天,又是充满希望的一天!"; System.out.println(d); boolean e = true; System.out.println(e); } }
? 变量使用的注意事项:
? 局部变量
? 1.我们使用变量的时候要注意,要满足变量的使用规则我们才能使用
? 2.定义变量时可以先不赋值,使用时在赋值。不赋值不能使用
public class Demo2{ public static void main(String[] args){ int x;//先定义一个变量x x = 20;//把20赋值给这个x System.out.println(x);//这一步是打印x,这也就是在这一行用到了x } }
? 3.变量不可重复定义
public class Demo3{ public static void main(String[] args){ int i = 10; double i = 1.5;// 这里 i 就重复了,会发生编译错误 } }
数据类型转换
类型根据字节数由小到大排列:byte-short-int-float-long-double
两种转换方式:
1.显示转换(强制转换)
小范围数据类型 变量 = 大范围数据类型
如:
int i = int(4.3);
或者
double a = 3.14;
int t = (int)a
强制转换注意: 需要在值的前面加上对应的数据类型
? 2.隐式转换(自动转换)
? 大范围数据类型 变量 = 小范围的数据类型;
? 如:
? double d = 10000;
? 或者
? int i = 100;
? double d2 = i;
运算符
算术运算符
运算符
运算规则 范例 结果 + 正号 +3 3 + 加 2+3 5 + 连接字符串 "中"+"国" "中国" - 负号 int a= 3;-a -3 - 减 3-1 2 * 乘 2*3 6 / 除 5/2 2 % 取模 5/2 1 ++ 自增 int a =1;a++/a++ 2 -- 自减 int b =3;a--/--a 2
使用算术运算符时要注意:
? 1.加法运算符在连接字符串时要注意,只有直接与字符串相加才会转成字符串
public class Demo4{ public static void main(String[] args){ System.out.println("中" + "国");//打印出 中国 } }
? 2.除法“/”当两边为整数时,取整数部分,舍余数。当其中一边为浮点型时,按正常规则相除
System.out.println(3/2);// 1 System.out.println(3.0/2);//1.5
? 3.“%”取模(取余数),小数取余没有意义。结果符号与被取余符号相同
System.out.println(5%3);// 5 / 3 = 1 ... 2 所以结果时 2 System.out.println(3%5);// 一个小的数对一个大的数取模,就等于它本身 3
算术运算符 ++ , --的使用
我们来看一段代码
int a = 3; int b = 3; a++; b--; System.out.println(a);//4 System.out.println(b);//3
? 上面的代码输出结果a的值为4,b的值为2
? 这说明a与b的值在原有的基础上发生了改变,改变的值为1.
? ++运算符:会在原有值得基础上自增1
? --运算符:会在原有值得基础上自减1
我们再来看一段代码
int a = 3; int b = 3; ++a; --b; System.out.println(a);//4 System.out.println(b);//3
? 上面的代码输出结果a的值为4,b的值为2
? 说明 ++,-- 在单独使用并且不参与操作符时,不管在前还是在后结果是一样的。
接下来我们参与操作符
int a = 3; int b; b = a++ + 10; System.out.println(a);//4 System.out.println(b);//13
? 上面代码的输出结果a值为4,b值为13;
? 强调:当++,--运算符后置时,先使用变量a原有值参与运算操作,运算操作完成后,变量a的值自增1或者自减1
再介绍下++,--运算符前置时,参与运算操作的变化,我们来看一段代码 :
int a = 3; int b; b = ++a + 10; System.out.println(a);//4 System.out.println(b);//14
? 强调: ++,--运算符前置时,先将变量a的值自增1或者自减1,然后使用更新后的新值参与运算操作
赋值运算符
我们来学习一下赋值运算符,赋值运算符就是为变量赋值的符号,赋值运算符的使用看下图:
运算符 运算规则 范例 结果 = 赋值 int a=2 2 += 加后赋值 int a=2,a+=2 4 -= 减后赋值 int a=2,a-=2 0 *= 乘后赋值 int a=2,a*=2 4 /= 整除后赋值 int a=2,a/=2 1 %= 取模后赋值 int a=2,a%=2 0 注意:诸如+=这样形式的赋值运算符,会将结果自动强转成等号左边的数据类型。
写一个代码,我们看一下赋值运算符的使用
/* * 赋值运算符 * +=, -=, *=, /=, %= : * 上面的运算符作用:将等号左右两边计算,会将结果自动强转成等号左边的数据类型,再赋值给等号左边的 * 注意:赋值运算符左边必须是变量 */ public class Demo5{ public static void main(String[] args) { byte x = 10; x += 20;// 相当于 x = (byte)(x+20); System.out.println(x);// 30 } }
比较运算符
比较运算符,又叫关系运算符,它是用来判断两个操作数的大小关系及是否相等关系的,结果是布尔值true或者false 。
运算符 运算规则 范例 结果 == 相等于 4==3 False != 不等于 4!=3 True < 小于 4<3 False > 大于 4>3 True <= 小于等于 4<=3 False >= 大于等于 4>=3 True 这里需要注意一下:
? *赋值运算符的 = 符号与比较运算符的 == 符号是有区别的,如下:
? 1.赋值运算符的 = 符号,是用来将 = 符号右边的值,赋值给 = 符号左边的变量;
? 2.比较运算符的 == 符号,是用来判断== 符号左右变量的值是否相等的
我们通过下面的一段代码,我们演示一下这个注意事项 :
int a = 3; int b = 4; System.out.println( a=b );// 4 System.out.println( a==b );// true
逻辑运算符
逻辑运算符,它是用于布尔值进行运算的,运算的最终结果为布尔值true或false
运算符 运算规则 范例 结果 & 与 false&true False | 或 false|true True ^ 异或 true^flase True ! 非 !true Flase && 短路与 false&&true False || 短路或 false||true True 看完图后,我们来看一下逻辑运算符的常规使用方式:
? 1.逻辑运算符通常连接两个其他表达式计算后的布尔值结果
? 2.当使用短路与或者短路或时,只要能判断出结果则后边的部分就不再判断
我们通过代码演示一下:
boolean b = 100>10; boolean b2 = false; System.out.println(b&&b2); // 打印结果为 false System.out.println(b||b2); //打印结果为 true System.out.println(!b2); //打印结果为 true System.out.println(b && 100>10); //打印结果为 true,本行结果的计算方式稍后讲解运算符优先级时解答
好了,我们来总结一下运算符的结果规律吧 :
? 1.短路与&&:参与运算的两边数据,有false,则运算结果为false
? 2.短路或||:参与运算的两边数据,有true,则运算结果为true
? 3.逻辑非! : 参与运算的数据,原先是true则变成false,原先是false则变成true
进制转换
? 二进制
? 八进制
? 十六进制
位运算
左移 : <<
int a = 4<<2;//4* 2^2=16
int b = 8<<3; 8 * 2^3
无符号运算 >>>
int a = 4; System.out.println(a >>> 2); // 1 int b = -4; System.out.println(b >>> 2); // 1073741823 源码 1000 0000 0000 0000 0000 0000 0000 0100 反码(高位不变低位相反) 1111 1111 1111 1111 1111 1111 1111 1011 补码 (反码 + 1) 1111 1111 1111 1111 1111 1111 1111 1100 右移两位 0011 1111 1111 1111 1111 1111 1111 1111 直接计算移动后的值 2 ^ 29 + 2^28 + 2^27 + ...+ 2^0
三元运算符(三目运算)
? 接下来我们要学习的三元运算符与之前的运算符不同。之前学习的均为一元或者二元运算符。元即参与运算的数据
? 格式:
? 数据类型 变量名 = (条件表达式)?表达式1:表达式2;
? 表达式:通俗的说,即通过使用运算符将操作数联系起来的式子,例如 :
? 1.3+2,使用算数运算符将操作数联系起来,这种情况,我们称为算数表达式
? 2.3>2,使用比较运算符(也称为条件运算符)将操作数联系起来,这种情况,我们称为条件表达式
? 三元运算符运算规则:
? 先判断条件表达式的值,若为true,运算结果为表达式1;若为false,运算结果为表达式2
通过代码演示,我们来学习下三元运算符的使用 :
方式一:
System.out.println(3>2?"正确":"错误‘‘);
无符号运算 >>>
int a = 4; System.out.println(a >>> 2); // 1 int b = -4; System.out.println(b >>> 2); // 1073741823 源码 1000 0000 0000 0000 0000 0000 0000 0100 反码(高位不变低位相反) 1111 1111 1111 1111 1111 1111 1111 1011 补码 (反码 + 1) 1111 1111 1111 1111 1111 1111 1111 1100 右移两位 0011 1111 1111 1111 1111 1111 1111 1111 直接计算移动后的值 2 ^ 29 + 2^28 + 2^27 + ...+ 2^0
三元运算符(三目运算)
? 接下来我们要学习的三元运算符与之前的运算符不同。之前学习的均为一元或者二元运算符。元即参与运算的数据
? 格式:
? 数据类型 变量名 = (条件表达式)?表达式1:表达式2;
? 表达式:通俗的说,即通过使用运算符将操作数联系起来的式子,例如 :
? 1.3+2,使用算数运算符将操作数联系起来,这种情况,我们称为算数表达式
? 2.3>2,使用比较运算符(也称为条件运算符)将操作数联系起来,这种情况,我们称为条件表达式
? 三元运算符运算规则:
? 先判断条件表达式的值,若为true,运算结果为表达式1;若为false,运算结果为表达式2
通过代码演示,我们来学习下三元运算符的使用 :
以上是关于Java基本语法的主要内容,如果未能解决你的问题,请参考以下文章