java基础语法有哪些_python 菜鸟教程

java基础语法有哪些_python 菜鸟教程Java基础语法1、标识符java中用来给变量、方法、类、接口等命名的名称称为标识符;(名称=标识符)标识符的命名规则:(1)、包名:所有字母一律小写。如:com.abc.demo。(2)、类名和接口名:每个单词的首字母大写,其余小写。如:StudentDemo,HelloWor

大家好,欢迎来到IT知识分享网。

Java 基础语法

1、标识符

java 中用来给变量、方法、类、接口等命名的名称 称为标识符;(名称 = 标识符)

标识符的命名规则:

(1)、包名:所有字母一律小写。如:com.abc.demo。

(2)、类名和接口名:每个单词的首字母大写,其余小写。如:StudentDemo,HelloWorld。

(3)、常量名:所有字母都大写,单词间以下划线(_)连接。如:DAY_OF_MONTH。

(4)、变量名和方法名:第一个单词首字母小写,从第二个单词开始每个单词首字母大写。即驼峰式命名法。如:chineseScore,getTotalMoney()。

(5)、在程序中,应尽量使用有意义的英文单词来定义标识符,即见名知义,这样便于阅读。如:password表示密码,name表示姓名等

2、关键字

java 中赋以特定的含义的,有专门用途的字符串称为关键字;并且java中所有的关键字都是小写;

数据类型:boolean、int、long、short、byte、float、double、char、class、interface。

数据类型:boolean、int、long、short、byte、float、double、char、class、interface
    
流程控制:if、else、do、while、for、switch、case、default、break、continue、return、try、catch、finally。

修饰符:public、protected、private、final、void、static、strict、abstract、transient、synchronized、volatile、native。

动作:package、import、throw、throws、extends、implements、this、supper、instanceof、new。

保留字:true、false、null、goto、const。

3、注释

注释:java 中的注释不会出现在任何可执行程序中

  • 行内注释 : 在每行开头标价// ,注释内容是从// 开始到本行结尾

  • 多行注释:使用/* 和*/注释界定符将一段比较常的注释括起来

  • 文档注释:以/** 开始,以 */ 结束,这种注释可以用来自动生成文档;

注意:在java 中,/**/ 注释不能嵌套,也就是说,不能简单的把代码用 / * 和* /括起来作为注释,因为这段代码本身可能也包含一个*/ 界定符

4、基本数据类型

java 是一种强类型语言,必须为每个变量声明一种类型;

java 中的数据类型主要分为4类8种:4种整型、2种浮点类型、1种字符类型和一种布尔类型

1、整数类型:

整型用于表示没有小数部分的值,允许是负数

  • int
    • 4个字节
    • 取值范围:-2147483648 ~ 2147483648(刚好超过20亿)
  • short
    • 2个字节
    • 取值范围:-32768 ~ 32767
  • long
    • 8个字节
    • 取值范围:
  • byte
    • 1字节
    • 取值范围:-128 ~127
2、浮点类型

浮点类型用于表示有小数部分的数值

  • float
    • 4字节
    • 取值范围:大约+-3.40282347E+38F(有效位数约为6~7位)
    • float 类型的数字有一个后缀 f或F,没有后缀的默认是double
  • double
    • 8字节
    • 有效位数大为15位

注意:浮点数值不适用于无法接受舍入误差的金融计算 金融计算应该使用BigDecimal 类

3、char(字符) 类型

char 类型原本是用于表示单个字符的,不过现在有些Unicode 字符可以用一个char 值描述;

char 类型的值可以表示为16进制值,其范围从 \u0000 到 \uFFFF

例如:\u2122表示商标符号(™) \u03C0 表示希腊字母π

4、布尔类型 boolean

bollean 只有两个值 false 和 true,用来判定逻辑条件

整型和布尔类型之间不能进行相互转换

5、数据类型转换
  • 将一种数值类型砖混为另外只用数值类型,但有些转换会造成数值丢失,损失精度

  • 强制类型转换例:例如double 类型转换为 int 类型

    double x = 9.9997;
    int nx = (int)x;// 变量nx 的值为9
    

5、变量与常量

1、常量

常量就是值不变的变量

使用关键字 final 指示常量 – final 修饰后表示这个变量只能被赋值一次,一旦赋值就不能再更改;

常量名 – 常量名通常全部使用大写字母;

注意:

  • 类常量的定义位于main方法的外部,同一个类的其他方法也可以使用这个常量;
  • 如果一个常量被声明为public ,name其他类的方法也可以使用这个常量;
2、变量

每个变量都有一个类型(type);

在声明变量之前,需要先指定变量的类型,然后是变量名;

可以在一行中声明多个变量:(不提倡这个风格)

int i,j ;

变量名 :

  • 必须遵循驼峰命名标准,变量名大小写敏感
  • 不能使用java 保留字作为变量名

注意:

  • 声明一个变量后,要使用必须使用赋值语句对变量进行初始化,千万不要使用未初始化的变量;
3、枚举类型

变量的取值只在一个有限的集合内;

自定义枚举类型,枚举类型包括有限的命名值:

// 自定义枚举
enum Size {SMALL,MEDIUM,LARGE,EXTRA_LARGE}
// 声明这种类型的变量
Size s = Size.MEDIUM
// Size 类型的变量只能存储这个类型声明中给定的某个枚举值,或特殊值null,null表示这个变量没有设置任何值

6、运算符

运算符用于连接值

1、算数运算符

(+ – * / %)加 减 乘 除 取模

2、逻辑运算符

( 与 – && 、或 – ||、非 – !)

3、关系运算符
4、位运算符

( >> 、 << 、>>> )

3、数学函数

在Math类中,包含了各种各样的数学函数;

java中没有幂运算,因此需要借助Math 类中的pow方法

double y = Math.pow(x,a); // 将x的a次幂 = y
4、结合赋值与运算符

二元运算符

x +=4;
x = x+4;

自增 自减运算符

a++
a--

7、字符串

从概念上讲,java字符串就是Unicode 字符序列 – String

1、子串
  • String 类的substring方法可以从一个较大的字符串中提取一个子串

    String greeting = "Hello";
    String s = greeting.substing(0,3); // s 的字符为"Hel"
    
2、拼接

java 语言允许使用+号连接(拼接)两个字符串

  • 将一个字符串与一个非字符串的值进行拼接,后者会转换成字符串(任何一个java对象都可以转换成字符串)

  • String 每次拼接字符串都会构建一个新的String 对象

3、检测字符串是否相等
  • 可以使用equals 方法检测两个字符串是否相当

    s.equals(t);
    

    注意:千万不要使用 == 运算符来检测两个字符串是否相等;

4、使用StringBuilder 类构建一个字符串
// 首先构建一个空的stringbuilder 字符串构建器
StringBuilder builder = new StringBuilder();
// 每次需要添加一部分内容,就直接调用append 方法
builder.append(ch);
builder.append(str);
// 最后调用toSring 方法,就可以得到一个字符串对象
String completedString = builder.toString();

8、控制流程

1、顺序结构

自上而下的执行

2、选择结构
  • if 单选择结构
  • if – else 双选择结构
  • if – else if – else 多选择结构
  • switch
    • (JDK7 支持了String类型)
    • case穿透现象
    • break
    • default
3、分支结构(循环结构)
  • while:尽量避免死循环
  • do… while
  • for – 可计次数一般用for循环 ,不可计次数一般用while 循环
    • for(int i=0;i<100;i++)
    • 经典案例 – 99 乘法表
  • 增强for循环
  • break & continue
    • break 跳出循环
    • continue 终止当此循环,继续下次循环
      • (带标签的continue 废弃的)
    • return 结束方法的运行;

9、大数

如果基本的整数和浮点数精度都不能满足需求,那么可以使用java.math 包中两个很有用的类

这两个类可以处理包含任意长度数字序列的数值

  • BigInteger
    • 可以实现任意精度的整数运算
  • BigDecimal
    • 可以实现任意精度的浮点数运算

使用静态的 valueOf 方法可以将普通的数值转换为大数:

BigInteger a = BigInteger.valueOf(100);

对于更大的数,可以使用一个带字符串参数的构造器:

BigInteger reallyBig = new BigInteger("1232321312312312312312312312312324575868947474646894644")

注意:

  • 不能使用我们熟悉的算数运算符(如:+ 、*) 处理大数,需要使用大数类的add 和multiply 方法进行运算;

    BigInteger c = a.add(b) // c = a + b
    BigInteger d = c.multiply(b.add(BigInteger.valueOf(2))); d = c*(b+2)
    

10、 数组

数组: 用来存储相同类型值得序列;

1、定义数组
  • int[] a = new int[5] // or var a = new int[5]
  • int[] a = {1,2,3,4,5};
  • 声明匿名数组:new int[]
  • 数组必须是同一个类型
2、数组的使用
  • 通过下标拿到值

  • ArrayIndexoutofBounds – 数组下标越界异常

  • 通过增强for循环遍历数组元素

    • for each 增强for 循环

      for(a: b){
          
      }
      
  • 数组拷贝

    • java中允许将一个数组变量拷贝到另外一个数组变量,这时,两个数组变量将引用同一数组;

    • 将一个数组所有值拷贝到一个新数组中,使用Arrays类的copyOf 方法:

      int[] copiedLuckyNumbers = Arrays.copyOf(luckyNumbers,luckyNumbers.length);// 第二个参数是新数组的长度,这个方法通常用来增加数组的大小;
      

      注意:如果数组元素是数值型,那么额外的元素将被赋值为0;如果数组元素是布尔型,则将赋值为false。相反,如果长度小于原始数组,则只拷贝前面的值;

  • 数组排序

    • 数值型数组排序

      使用Arrays类中的sort 方法 – 使用了 快速排序(QuickSort)算法

3、多维数组

多维数组将使用多个下标访问数组元素

例如:

int[][] a = {{1,2,3},{1,2,3},{1,2,3},{1,2,3}};

注意:java 中实际上没有多维数组,只有一维数组。多维数组实际就是“数组的数组” – (套娃数组)

4、数组算法
  • 二分查找
  • 冒泡排序
  • 选择排序
  • 直接插入排序
  • 希尔排序
  • 快速排序
  • 归并排序
  • 基数排序
  • 堆排序

11、方法

1、什么是方法?
  • 语句块的集合
2、方法的定义
  • 修饰符 返回值 方法名(参数名){
        return 返回值;
    }
    
3、方法的调用
  • 类名.方法
  • 对象.方法
4、方法重载
  • 名字相同,方法形参列表不同;
5、命令行传参 – 给mian 方法传递参数 (涉及JVM调优)
  • main 方法是自带了参数的,可以通过命令行的方式传递参数进运行程序;

12、JavaDoc – JDK工具

1、JDK 帮助文档
  • 由源文件生成一个HTML文档
2、命令 javadoc 生成文档
  • @author 作者
  • @Version 版本
  • @Since 最早支持哪个java版本
  • @param 参数
  • @return 返回值
  • @throws 抛出的异常

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/29060.html

(0)
上一篇 2023-09-25 11:00
下一篇 2023-09-26 13:00

相关推荐

发表回复

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

关注微信