注释

  单行注释:       //  注释内容

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

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

数据类型

  整型

    byte    short    int    long

  浮点型

    float   double

  字符类型

    char

  布尔类型

    boolean

变量

  1.未初始化的变量不能使用

  2.常量使用final来指定

  3.命名规范:

    1)必须是数字,字母,下划线和美元符号组成,注意不可以数字开头

    2)首字母小写,驼峰原则

    3)见名知意,不要乱起名字

    4)常量的命名应该全部大写

运算符

  算术运算符

    +  -  *  /  %

    注意:整数除0报异常,浮点数除0,结果为NAN

  赋值运算符

    +=  -=  *=  /=  %=         =

    注意:左边操作数和右边操作数不同时,结合赋值运算符会自动将右边的操作数类型强转为左边操作数的类型

  自增和自减运算符

    ++        --

    注意:前缀是先自增(自减)再运算,后缀是先运算后自增(自减)

  逻辑运算符

    &&   ||    !

    注意:&&和||是短路的

  位运算符

    >>   >>>   <<

    注意:使用>>>时符号位有0填充

字符串:String

  1.拼接符号: +

  2.字符串相等使用equals方法检查

  3.空串:2个引号之间没有任何字符,长度为0

  4.null串:不是字符串,不可以调用方法,否则报错

  注意:要先检查字符串是不是null串再检查是不是空串

  常用api

  boolean  equals(Object other)

  boolean  startsWith(String prefix)

  boolean  endsWith(String suffix)

  int  length()

  String  substring(int  begin)

  String  substring(int  begin ,  int  end)

  String  toUpperCase()

  String  toLowerCase()

  String  trim()

字符串构建器:StringBuilder

  常用api

  StringBuilder  append(String str)

  void  setCharAt(char  ch)

  StringBuilder  insert(int  index , String str)

  String  toString()

输入输出

  输入:java.util.Scanner

  

 Scanner sc = new Scanner(System.in);
 String str = sc.nextLine();
 int  num  =  sc.nextInt();
 float f = sc.nextFloat();
 double d = sc.nextDouble();

输入语句示例

  输出:System.out

  System.out.println("要输出的内容")

  格式化输出:System.out.printf("%8.2f",546.165)  =>    546.16

控制流程

  条件语句:if

  

if(a>b){
  System.out.println("a>b") ;
}else if(a=b){
  System.out.println("a=b") ;
}else{
  System.out.println("a<b") ;
}

条件语句示例

  循环语句: for  ,  while  , do-while

  

 for(int i =0;i<100;i++){
     System.out.println(i);
 }
 int j = 0;
 while(j<100){
     System.out.println(j);
     j++;
 }
 int k = 0;
 do{
     System.out.println(k);
     k++;
 }while(k<100);

循环语句示例

  开关语句:switch

  

int num = 2;
switch(num){
case 1:
        System.out.println("1");
        break;
case 2:
        System.out.println("2");
        break;
default:
        System.out.println("没有找到");
        break;
}

开关语句示例

  中断控制流程语句:break         continue

大数值:java.math.BigInteger ,  java.math.BigDecimal

  获取对象:BigInteger.valueOf(long x)          BigDecimal.valueOf(long x)      BigDecimal.valueOf(long x,int scale)

  使用方法来进行大数值的精确运算

  +     add(BigInteger other)      add(BigDecimal other)

  -      subtract(BigInteger other)    subtract(BigDecimal other)

  *      multiply(BigInteger other)    multiply(BigDecimal other)

  /  divide(BigInteger other)      divide(BigDecimal other)

  比较:compareTo(BigInteger other)        compareTo(BigDecimal other)

数组

  数组的声明:

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

  int[]  b = new int[4];

  数组的赋值:

  index从0开始的自然数

  a[1] = 2;  给下标为1的数组元素赋值为2

  for each循环遍历数组:

for(variable:collection){
    statement;
}

  数组的初始化和匿名数组

  1.   创建数组的同时赋值

    int  smallPrimes  = {2 , 3 , 5 , 7 }

  2.   初始化一个匿名数组

    new  int[]{ 2 , 3 , 5 ,7}

  数组的固定属性:length

  数组一点建立,数组的长度不可变,使用数组名.length来取出数组长度

  数组的拷贝:

  1. 使用Arrays类中的copy方法

     Arrays.copy(原数组,新数组长度)

    如果新数组的长度大于原数组的长度,原数组中的所有内容赋值到新数组中,且新数组中的比原数组中多余的部分初始化为null,或者0

    如果新数组的长度小于原数组的长度,则舍去缺失的部分

  2.使用System中的arraycopy方法

    System.arraycopy(src, srcPos, dest, destPos, length);

    src :原数组

    srcPos: 原数组开始复制位置

    dest:新数组

    destPos:新数组开始接受位置

    length: 复制的长度

  数组的排序:

  Arrays.sort(数组名),将数组按照升序排列

  数组元素的查找:

  Arrays.binarySearch(数组,开始位置,结束位置,查找元素)

  返回查找元素的下标

多维数组

  int[][]  a = { { 1 , 2 , 3 } , { 3 , 4 } , { 5 , 6 , 7 , 8} }

  int[][]  b = new  int[3][]

  多维数组就是一个数组的数组,是不规则的。  

  

01-Java基本语法的更多相关文章

  1. 075 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 07 综合案例-数组移位-主方法功能4的实现

    075 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 07 综合案例-数组移位-主方法功能4的实现 本文知识点:综合案例-数组移位-主方法功能4的实现 说明:因为 ...

  2. 074 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 06 综合案例-数组移位-主方法功能3的实现

    074 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 06 综合案例-数组移位-主方法功能3的实现 本文知识点:综合案例-数组移位-主方法功能3的实现 说明:因为 ...

  3. 073 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 05 综合案例-数组移位-主方法功能1和2的实现

    073 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 05 综合案例-数组移位-主方法功能1和2的实现 本文知识点:综合案例-数组移位-主方法功能1和2的实现 说 ...

  4. 072 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 04 综合案例-数组移位-在指定位置处插入数据方法

    072 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 04 综合案例-数组移位-在指定位置处插入数据方法 本文知识点:综合案例-数组移位-在指定位置处插入数据方法 ...

  5. 071 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 03 综合案例-数组移位-显示数组当中所有元素的的方法

    071 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 03 综合案例-数组移位-显示数组当中所有元素的的方法 本文知识点:综合案例-数组移位-显示数组当中所有元素 ...

  6. 070 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 02 综合案例-数组移位-从键盘接收数据

    070 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 02 综合案例-数组移位-从键盘接收数据 本文知识点:综合案例-数组移位-从键盘接收数据 说明:因为时间紧张 ...

  7. 069 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 01 综合案例-数组移位-案例需求

    069 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 01 综合案例-数组移位-案例需求 本文知识点:综合案例-数组移位-案例需求 说明:因为时间紧张,本人写博客 ...

  8. 068 01 Android 零基础入门 01 Java基础语法 08 Java方法 06 参数传递问题——基本数据类型传值

    068 01 Android 零基础入门 01 Java基础语法 08 Java方法 06 参数传递问题--基本数据类型传值 本文知识点:参数传递问题--基本数据类型传值 说明:因为时间紧张,本人写博 ...

  9. 067 01 Android 零基础入门 01 Java基础语法 08 Java方法 05 数组作为方法参数

    067 01 Android 零基础入门 01 Java基础语法 08 Java方法 05 数组作为方法参数 本文知识点:数组作为方法参数 说明:因为时间紧张,本人写博客过程中只是对知识点的关键步骤进 ...

  10. 066 01 Android 零基础入门 01 Java基础语法 08 Java方法 02 带参有返回值方法

    066 01 Android 零基础入门 01 Java基础语法 08 Java方法 04 带参有返回值方法 本文知识点:带参有返回值方法 说明:因为时间紧张,本人写博客过程中只是对知识点的关键步骤进 ...

随机推荐

  1. tk.mybatis通用工具采坑记

    tk.mybatis通用工具pom <!--mybatis依赖--> <dependency> <groupId>org.mybatis.spring.boot&l ...

  2. Windows系统CMD常用命令大全

    命令简介 cmd是command的缩写.即命令行 . 虽然随着计算机产业的发展,Windows 操作系统的应用越来越广泛,DOS 面临着被淘汰的命运,但是因为它运行安全.稳定,有的用户还在使用,所以一 ...

  3. Redis主从和集群

    主从概念 一个master可以拥有多个slave,一个slave又可以拥有多个slave.如此下去,形成了强大的多级服务器集群架构. master用写数据,经统计:网站的读写比率是10:1 通过主从分 ...

  4. FF笔试题

    一.单选题 1.下列关于继承的描述错误的是(  ) A.  在Java中允许定义一个父类的引用,指向子类对象 B.  在Java中继承是通过extends关键字来描述的,而且只允许继承自一个直接父类 ...

  5. c++为什么要面向对象?

    前言 c和c++的区别是什么?不可置否,最重要的就是c++的编程思想是面向对象,而c的编程思想是面向过程,这是它们的本质区别,如果你在使用c++编程时使用的还是面向过程的编程思想,那么还不如使用c,因 ...

  6. 使用docker-compose快速构建集群示例(一)

    一.zookeeper集群 docker-compose文件: version: '3.1' services: zoo1: image: zookeeper hostname: zoo1 conta ...

  7. NoSuchFieldError

    最近用Fresco框架加载GIF动态图片,遇到一个bug,记录下来,以供后来者少走弯路: 各种百度,最后参照Fresco官方文档,将原有的 fresco:1.3.0替换成0.12.0即: 在APP b ...

  8. Emgucv学习系列之环境搭建

    Emgucv功能介绍 Emgucv是跨平台的,是Opencv的.net版本.可以对图片.视频等多媒体资源进行加工处理的SDK库. Emgucv下载和安装SDK 下载地址:https://sourcef ...

  9. js实现深拷贝的一些方法

    在ECMAScript变量中包含两种不同类型的值:基本类型值和引用类型值. 基本类型值:Undefined.Null.Boolean.Number.String 引用类型值:Object.Array. ...

  10. 从零开始学 Web 之 Ajax(二)PHP基础语法

    大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...