JAVA语言基础组成(1)

Wesley13
• 阅读 641

JAVA语言基础组成

关键字

关键字的定义和特点

定义:被Java语言赋予了特殊含义的单词

特点:关键字中所有字母都为小写

用于定义数据类型的关键字

class

interface

byte

int

short

long

double

char

boolean

void

用于定义数据类型值的关键字

true

false

null

用于定义流程控制的关键字

if

else

switch

case

default

while

do

for

break

continue

return

用于定义访问权限修饰符的关键字

private

protected

public

friendly

用于定义类,函数,变量修饰符的关键字

abstract

final

Static

synchronize

用于定义类与类之间关系的关键字

extends

implements

用于定义建立实例及引用实例,判断实例的关键字

new

this

super

instanceof

用于异常处理的关键字

try

catch

finally

throw

throws

用于包的关键字

package

import

其他修饰符关键字

native

strictfp

transient

volatile

assert

标识符

1.在程序中自定义的一些名称

2.由26个英文字母大小写,数字:0-9,符号:_$组成

3.定义合法标识符规则:

不能以数字开头

不可以使用关键字

4.Java中严格区分大小写

5.注意:在起名字时,为了提高阅读性,要尽量有意义

JAVA中的名称规范

1.包名:多个单词组成时所有字母小写

2.类名接口名:多个单词组成时,所有字母的首字母大写

3.变量名和函数名:多个单词组成时,第一个单词首字母小写,第二个单词开始每个单词首写字母大写。

4.常量名:所有字母大写,多个单词时每个单词用下划线隔开

注释

1.用于注解说明解释程序的文字就是注释

2.提高代码的阅读性

3.Java中注释的格式:

单行注释:  //注释内容

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

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

4.对于单行和多行注释,被注释的文字,不会被JVM(Java虚拟机)解释执行。

5.对于文档注释,是Java特有的注释,其中注释内容可以被JDK提供的工具javadoc所解析,生成一套以网页文件形式体现的该程序的说明文档。

**6.**注释是一个程序员必须要具有的良好编程习惯

**7.**初学者编写程序应该养成先写注释在写代码的习惯

**8.**将自己的思想通过注释先整理出来,再用代码实现

**9.**因为代码仅仅是思想的一种体现形式而已。

例如:

/**
这是我的Hello World程序。
@author小强
*/
class Demo
{
/*
这是主函数,是程序的入口
它的出现可以保证程序的独立运行,
*/
public static void main(String[] args)
{
//这是输出语句用于将括号内的数据打印到控制台。
System.out.println("Hello World");
}
}

常量和变量

常量表示不能改变的数值。
Java中常量的分类:
1,整数常量。所有整数
2,小数常量。所有小数
3,布尔型常量。较为特有,只有两个数值。true false。
4,字符常量。将一个数字字母或者符号用单引号( ' ' )标识。
5,字符串常量。将一个或者多个字符用双引号标识。
6, null常量。只有一个数值就是:null.
对于整数:java有三种表现形式。
十进制:0-9,满10进1.
八进制:0-7,满8进1.用0开头表示。
十六进制:0-9, A-F,满16进1.用0x开头表示。

进制的基本转换
十进制二进制 互转
十进制转成二进制除以2取余数
二进制转成十进制乘以2的幂数
十进制 八进制 互转
十进制 十六进制 互转
负数的二进制表现形式
对应的正数二进制取反加1

变量的概念:

内存中的一个存储区域

该区域有自己的名称(变量名)和类型(数据类型)

该区域的数据可以在同一类型范围内不断变化

为什么要定义变量:

用来不断的存放同一类型的常量,并可以重复使用

使用变量注意:

变量的作用范围(一对{}之间有效)

初始化值

定义变量的格式:

数据类型 变量名=初始化值;

注:格式是固定的,记住格式,以不变应万变。

理解:变量就如同数学中的未知数。

Java语言是强类型语言,对于每一种数据都定义了明确
的具体数据类型,在内存中分配了不同大小的内存空间

自动类型转换(也叫隐式类型转换)

强制类型转换(也叫显式类型转换)

如果一个操作数是long型,计算结果就是long型;

如果一个操作数是float型,计算结果就是float型;

如果一个操作数是double型,计算结果就是double型。

自动类型提升
byte b = 3;
int x = 4;
x = x + b;//b会自动提升为int类型进行运算。
强制类型转换
byte b = 3;
b = b + 4;//报错
b = (byte)b+4;//强制类型转换,强制将b+4的结果转换为byte类型,再赋值给b。

算术运算符的注意问题
如果对负数取模,可以把模数负号忽略不记,如:5%-2=1。但被模数是负数就另当别论。
对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。
例如:int x=3510;x=x/1000*1000; x的结果是?
“+”除字符串相加功能外,还能把非字符串转换成字符串 ,
例如:**System.out.println("5+5="+5+5);//**打印结果是?
赋值运算符

符号:

= , +=, -=, *=, /=, %=

示例:

int a,b,c; a=b=c =3;

int a = 3; a+=5;等同运算a=a+5;

比较运算符

注1:比较运算符的结果都是boolean型,也就是要么

是true,要么是false。

注2:比较运算符“==” 不能误写成“=”。

逻辑运算符

逻辑运算符用于连接布尔型表达式,在Java中不可以

写成3<x<6,应该写成x>3 & x<6。

“&”和“&&”的区别
单&时,左边无论真假,右边都进行运算;
双&时,如果左边为真,右边参与运算,如果左边为假,那
么右边不参与运算。
“|”和“||”的区别同理,双或时,左边为真,右边不参与运算。
异或( ^ )与或( | )的不同之处是:当左右都为true时,
结果为false。

三元运算符

格式:
(条件表达式)?表达式1:表达式2;
如果条件为true,运算后的结果是表达式1;
如果条件为false,运算后的结果是表达式2;
示例:
获取两个数中大数。
int x=3,y=4,z;
z = (x>y)?x:y;//z变量存储的就是两个数的大数。

位运算符:

3<<2   左移:乘以2的移动的位数次幂

6>>2   右移:除以2的移动的位数次幂

位运算是程序计算中,速度最快的3<<2

语句

判断结构

if语句特点:

a:每一种格式都是单条语句。

b:条件表达式无论写成什么样子,只看最终的结构是否是true或者false

选择结构

switch****语句
格式:
switch(表达式)
{
case 取值1:
执行语句;
break;
case 取值2:
执行语句;
break;
…...
default:
执行语句;
break;
}

switch语句特点:
a:switch语句选择的类型只有四种:byte, short, int, char。

从JDK1.6以后switch语句类型将String类型添加进去
b:case之间与default没有顺序。先执行第一个case,没有匹配的case执行default。
c:结束switch语句的两种情况:遇到break,执行到switch语句结束。
d:如果匹配的case或者default没有对应的break,那么程序会继续向下
执行,运行可以执行的语句,直到遇到break或者switch结尾结束。

循环结构

格式:
for(初始化表达式;循环条件表达式;循环后的操作表达式)
{
执行语句;
}
注:
a:for里面的连个表达式运行的顺序,初始化表达式只读一次,判断循环条件,为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件,重复找个过程,直到条件不满足为止。
b:while与for可以互换,区别在于for为了循环而定义的变量在for循环结束就是在内存中释放。而while循环使用的变量在循环结束后还可以继续使用。
c:最简单无限循环格式:while(true) , for(;;),无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环。

其他流程控制语句

**break(跳出)**,  continue(继续)
break语句:应用范围:选择结构和循环结构。
continue语句:应用于循环结构。
注:
a:这两个语句离开应用范围,存在是没有意义的。
b:这个两个语句单独存在下面都不可以有语句,因为执行不到。
c:continue语句是结束本次循环继续下次循环。
d:标号的出现,可以让这两个语句作用于指定的范围。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Wesley13 Wesley13
3年前
java基础知识随身记
2018年11月12日20:51:35一、基础知识:1、JVM、JRE和JDK的区别:JVM(JavaVirtualMachine):java虚拟机,用于保证java的跨平台的特性。  java语言是跨平台,jvm不是跨平台的。JRE(JavaRuntimeEnvironment):java的运行环境,包括jvmjava的核心类
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Wesley13 Wesley13
3年前
Java日期时间API系列31
  时间戳是指格林威治时间1970年01月01日00时00分00秒起至现在的总毫秒数,是所有时间的基础,其他时间可以通过时间戳转换得到。Java中本来已经有相关获取时间戳的方法,Java8后增加新的类Instant等专用于处理时间戳问题。 1获取时间戳的方法和性能对比1.1获取时间戳方法Java8以前
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Wesley13 Wesley13
3年前
Java基本语法(一)
Java语法1.Java语法——关键字1.关键字概述java语言中被赋以特定含义的单词,用作专门用途的关键的字符串成为关键字(keyword)。    2.关键字特点组成关键字的字母全是英文小写。3.关键字注意事项A.Java中goto和const作
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这