Java基础语法_java的基本语法有哪些

Java基础语法_java的基本语法有哪些Java基础语法

大家好,又见面了,我是你们的朋友全栈君。

Java的基本语法

Java注释

​ java中有三种注释

单行注释: //注释内容

多行注释:/* 注释内容 */

文档注释: /** 注释内容 */

​ 其中文档注释可以利用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 等这些都是设定好的。

1528737738563

​ 这些关键字需要背诵吗?

​ 我们HelloWorld.java案例中用到过哪些关键字?

标识符

​ 标识符就是名称的意思,所有的名称都统称为标识符。java中经常要定义类、方法、变量(后面会学习到),在定义它们时总要给他们取名字,这些名字就是标识符。

​ 标识符组成元素:

​ *英文:a-zA-Z

​ *数字: 0-9

​ *符号: _ 与 $

​ 标识符规则:

​ *不能以数字开头

​ *不可以使用关键字

​ *遵循驼峰法则,比如 HelloWorld

​ *尽量达到见名知意

数据

程序概述

软件是什么?

​ 其实软件就是用来处理数据的。

​ 软件的组成:

​ *数据

​ *处理数据的逻辑

​ 程序 = 数据 + 逻辑

什么是数据?

​ 用电商来举例子,用户是数据,商品也是数据。

处理数据的逻辑又是什么呢?

​ 购买商品的过程就是处理数据的逻辑

​ 程序的开发离不开数据,说白了程序就是处理数据的。通常数据会发生变化,而处理数据的逻辑不会发生改变。例如商品的数量、种类是会变化的,而买的流程是不会改变的。

数据类型

​ 生活中的数据也是有类型的,例如 人名:汉字或者英文,年龄:数字

​ 那么java中有哪些数据类型?他们分别是怎么表示的?

​ java是强类型语言,对每一种数据都对应了明确的数据类型。下面是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(666); System.out.println(1888); // 小数类型 System.out.println(1.8); System.out.println(3.1415926); // 布尔类型 System.out.prinltn(true);//真 System.out.println(false);////字符类型 System.out.println('A'); 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种基本类型也指定了范围。

image

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 = 7.89; 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 n = (int)6.7;

​ 或者

​ double l = 3.14;

​ int t = (int)l;

​ 强制转换注意: 需要在值的前面加上对应的数据类型

​ 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 = 64 // 总结: int x = y << z 时相当于 y * 2^z 

右移: >>

int a = 4 >> 2; // 4 / 2^2 = 1; int b = 8 >> 3; // 8 / 2^3 = 1; // 总结 : int x = y >> z 时相当于 y / 2^z 

无符号运算 >>>

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 ? “正确” : “错误” ); // 三元运算符运算后的结果为true,运算结果为表达式1的值“正确”,然后将结果“正确”,在控制台输出打印 方式二: int a = 3; int b = 4; String result = (a==b) ? “相等” : “不相等”; System.out.println(result); //三元运算符运算后的结果为false,运算结果为表达式2的值“不相等”,然后将结果赋值给了变量result 方式三: int n = (3>2 && 4>6) ? 100 : 200; System.out.println(n); //三元运算符运算后的结果为false,运算结果为表达式2的值200,然后将结果200赋值给了变量n 

小练习:

  1.A和B点相距500公里,同时从A和B对向各开出1列火车,经过30分钟后,在距离A和B的中点50公里的地方相遇。问A火车和B火车的速度各为多少公里每小时 2.一缸水,用去二分之一和5桶,还剩下30%,问这缸水有多少桶 3.一根钢管长10米,第一次截去十分之七,第二次又截去剩下的三分之一,问还剩下多少米 4.修筑一条公路,完成了全长的三分之二后,距离中间点为16.5千米,这条公路全长多少千米 5.山羊有50只,绵羊比山羊的五分之四多3只,问绵羊多少只 6.输入圆的半径,求这个圆的周长和面积 7.输入正方体的边长,求体积和表面积 8.问题:“今有鸡兔同笼,上有三十五头,下有九十四足,问鸡兔各几何?”

转载于:https://www.cnblogs.com/zcq-Test/p/10646629.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/106892.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • C# -XML用法(XmlDocument )

    C# -XML用法(XmlDocument )使用visualstudio中自带的xml解析器,引入System.Xml命名空间。1.向文件中写入配置xml文件实现效果:&amp;lt;?xmlversion=&quot;1.0&quot;encoding=&quot;utf-8&quot;?&amp;gt;&amp;lt;某某某某公司&amp;gt;&amp;lt;执行董事兼总经理&amp;gt;曾振帅&amp;lt;/执行董事兼总经

    2022年6月19日
    60
  • androidvncserver下载_android bindservice

    androidvncserver下载_android bindservice关于安卓BindService绑定问题BindService主要用于当用户想要将活动activity与service进行绑定,当activity结束时(调用者)service也跟着一起结束了;而startService()只能用来启动服务,当服务启动后,就与前台活动没有了关系;当我们要从service外部获得service中的方法内容时,我们必须要Ibinder返回的service对象

    2022年9月2日
    2
  • 修改文件夹图标_把某程序的图标拖到启动文件夹中

    修改文件夹图标_把某程序的图标拖到启动文件夹中版权声明:本文为博主原创文章,仅作为学习交流使用转载请注明出处:https://www.cnblogs.com/linck/p/10587339.html面对千篇一律的文件夹图标,可以通过简单设置

    2022年8月5日
    4
  • Oracle 批量插入(insert all into)

    Oracle 批量插入(insert all into)项目需要用到导入excel表,并解析数据批量插入到oracle数据库中。1)直接解析excel,循环行,拼了sql,executeUpdate。执行一波…咦,这效率很低啊,有多少行数据就执行了多少句sql,基本是一万行已经接近一分钟了。2)每次都仅执行一条sql语句,时间是不是都花在建立连接放开连接balabala的过程上了,用executebatch批量执行sql语句试试。没…

    2022年7月25日
    12
  • 电商网站的价格大概多少钱一个_电子商务网站报价

    电商网站的价格大概多少钱一个_电子商务网站报价做一个电商网站需要多少钱?一、服务器购买、微信公众号认证、短信接口、物流接口、第三方支付接口费率等等。拿服务器来说,有一般IDC公司的虚拟主机,云虚拟主机、独立ECS,价格会有天壤之别,那具体根据您后期访问用户量和稳定性本身来选择,,几百到几千不等。二、功能开发费用电商平台的主要费用就是根据用户需要哪些功能进行定制开发来评估费用的,这其实又大致分为两大类。第一,必备功能。电商平台里面的必备功能有:会员注册登录、商品分类展示、在线支付购物车、订单管理等。第二、体验功能。体验功能主要是便于电商平台

    2022年10月1日
    0
  • navicat premium 15 mac 激活码【2021.8最新】

    (navicat premium 15 mac 激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlS32PGH0SQB-eyJsa…

    2022年3月25日
    68

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号