首页 > 编程语言 >Java的基础语法

Java的基础语法

时间:2024-01-31 20:45:27浏览次数:25  
标签:Java String int 基础 System 语法 println public out

Java基础语法

  1. 注释:书写注释是一个非常好的习惯,平时写代码一定要规范
    • 单行注释://
    • 多行注释:/* */
    • 文档注释JavaDoc:/** */
  2. 标识符
    • 不能使用关键字作为变量名和方法名
    • 标识符大小写敏感
    • 首字母以字母、_以及$开头
    • 可以使用中文名,但是不建议,也不建议使用拼音,很low

数据类型

    • 强类型语言

      • 要求变量的使用要严格符合规定,所有变量都必须先定义后才可以使用
    • 弱类型语言

    • 基本类型:数值类型(整数类型、浮点类型、字符类型)以及boolean类型

      public class Demo02 {
          public static void main(String[] args) {
              String a="wanglong";   //String字符串
              System.out.println(a);
              
              //八大基本数据类型
              
              //整数
              int num1=10;
              byte num2=20;//最大127
              short num3=30;
              long num4=40L;//long类型要在数字后面加个L
              
              //小数:浮点数
              float num5=40.1F;//float类型要在数字后面加个F
              double num6=3.1415926;
              
              //字符
              char name='A';
              //字符串,String不是关键字,是一个类
              String name2="wanglong";
              
              //boolean布尔值:是非
              boolean flag=true;
          }
      }
      
      public class Demo03 {
          public static void main(String[] args) {
              //整数扩展:      进制   二进制0b  十进制   八进制0    十六进制0x
              int i=10;
              int i2=010;//八进制0
              int i3=0x10;//十六进制0x    0~9 A~F
      
              System.out.println(i);//10
              System.out.println(i2);//8
              System.out.println(i3);//16
      
              //浮点数扩展
              //float  有限 离散 舍入误差 大约 接近但不等于
              //double
              //最好完全 避免 使用浮点数进行比较
      
      
              float f=0.1F;//0.1
              double d=1.0/10;//0.1
              System.out.println(f==d);//false
              System.out.println(f);
              System.out.println(d);
      
              float d1=212121212121212F;
              float d2=d1+1;
              System.out.println(d1==d2);//true
      
      
              //字符扩展
              char c1='a';
              char c2='中';
              System.out.println(c1);
              System.out.println((int)c1);//强制转换
              
              //所有的字符本质还是数字
              //编码 Unicode  2字节  65536  
              
              //转义字符
              // \t制表符   \n换行   、、、
              
              
              //布尔值扩展
              boolean flag=true;
              
      
          }
      }
      
    • 引用类型:类、接口、数组

类型转换

从低到高

byte,short,char---->int--->long--->float--->double(小数优先级高于整数)

要避免内存溢出

强制转换: (类型)变量名 高到低

自动转换: 低到高

注意点:

  • 不能对布尔值转换
  • 不能把对象类型转换为不相干的类型
  • 在把高容量转换到低容量的时候,强制转换。
  • 转换的时候可能存在内存溢出,或者精度问题
public class Demo04 {
    public static void main(String[] args) {
        //操作比较大的数,需要注意溢出问题
        //JDK7的新特性,数字间可以用下划线分割
        int money=10_0000_0000;
        int years=20;
        int total=money*years;//-1474836480,计算的时候溢出了;
        long total2=money*years;//默认是int,转换之前已经存在问题了
        long total3=money*((long)years);//先把一个数转换为long
        System.out.println(total);
    }
}

变量

一行定义一个,程序可读性。

变量作用域:

public class Demo05 {
        static int a=0; //类变量   前面要加一个static
    
        String str="hello world!";//实例变量:类里面,方法的外面,从属于对象;如果不自行初始化,就会有默认值,布尔值默认false,除了基本类型其余都是null
    
    public void method(){
        int i=0;//局部变量,必须声明和初始化值
    }
}

常量:

  • final 常量名=值;

  • final double PI=3.14;

  • 常量名一般使用大写字符。

public class Demo06 {
    
    //修饰符,不区分前后
    static final double PI = 3.14;
    public static void main(String[] args) {
        System.out.println(PI);
    }
}

变量命名规范:

  • 见名知意
  • 类成员变量:首字母小写和驼峰原则:monthSalary
  • 局部变量:首字母小写和驼峰原则
  • 常量:大写字母和下划线:MAX_VALUE
  • 类名:首字母大写和驼峰原则:GoodMan
  • 方法名:首字母小写和驼峰原则: runRun()

运算符

public class Demo01 {
    public static void main(String[] args) {
        //二元运算符
        //Ctrl+D   :复制当前行到下一行
        int a=10;
        int b=20;
        int c=30;
        int d=40;
        System.out.println(a+b);
        System.out.println(a/(double)b);
        
        //幂运算
        double pow = Math.pow(2,3);
        System.out.println(pow);
        
        //字符串连接符   +   ,String
        System.out.println(""+a+b);//1020  前面有“”整个当作一个字符串
        System.out.println(a+b+"");//30
        System.out.println(""+(a+b));//30
    }
}

包机制

为了更好的组织类,java提供了包机制,用于区别类名的命名空间。如同文件夹一样

一般利用公司域名倒置作为包名;com.wang.long com.baidu.www

为了使用某一个包的成员,我们需要在java程序中明确导入该包。使用 import 语句即可

package com.wang.operator;
import java.util.Date;
import com.wang.base.*;//导入这个包下所有的类,*为通配符

多看看《阿里巴巴开发手册》:无规矩不成方圆,无规范不能协作

JavaDoc

Javadoc命令用来生成自己的API文档

参数信息:

  • @auther 作者名
  • @version 版本号
  • @since 指明需要最早使用的jdk版本
  • @param 参数名
  • @return 返回值情况
  • @throws 异常抛出情况
package com.wang.base;

/**
 * @author wanglong
 * @version 1.0
 * since 1.8
 */
public class Doc {
    String name;

    /**
     * @auther wanglong
     * @param name
     * @return
     * @throws Exception
     */
    public String test(String name) throws  Exception{
        return name;
    }
}
  1. 使用命令行生成文档

javadoc -encoding UTF-8 -charset UTF-8 Doc.java

点击index.html文件即可

  1. 使用IDEA生成文档
  • tools---->GenerateJavaDoc
  • -encoding UTF-8 -charset UTF-8

标签:Java,String,int,基础,System,语法,println,public,out
From: https://www.cnblogs.com/shijili/p/18000083

相关文章

  • 基础知识
    从一本书说起《DOMM启示录》——约翰.马克; 约翰.罗梅洛;3D编程地本质:操纵显卡,把一些信息显示到屏幕上。图形API 图形API :跨平台,垮编程语言的图形程序接口。用于GPU上的指令功能。市面上比较成熟的图形API:OpenGL、Vulkan、DirectX。图形API到底是啥?上层应用的统一......
  • Java的流程控制
    Java流程控制Scanner对象我们通过Scanner类获取用户的输入。基础语法:Scanners=newScanner(System.in);通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。next():一定要读取到有效字符才可以结束......
  • Java 的开始
    Java的jdk、jre、jvmjdk:JavaDelelopmentKitjre:Java运行环境jvm:JavaVirtualMachine卸载jdk删除java的安装目录删除Java_HOME删除path下关于Java的目录通过java-version检查安装jdk百度搜索JDK8,找到下载地址同意协议下载电脑对应的版本双击安装JDK......
  • java flink(二十六) 实战之电商黑名单过滤 Flink CEP编程实现、什么是CEP、CEP组合模式d
    javaflink(二十六)实战之电商黑名单过滤FlinkCEP编程实现、什么是CEP、CEP组合模式demo、CEP循环模式demo什么是CEP:1、复杂事件处理2、Flink中实现复杂事件处理库3、CEP允许在无休止的事件中检测事件模式,让我们有机会掌握数据中的重要部分4、一个或多个由简单事件构成的事......
  • NanoFramework操作ESP32(一)_基础元器件篇(三十三)_ KY-020倾斜开关
    一、元器件介绍  KY-020倾斜开关模块由一个10kΩ电阻器和一个具有双向导电性的金属球开关组成,该开关根据倾斜程度来打开/关闭电路。它不测量倾斜角。当电路向侧面倾斜时,只要以足够的力和倾斜度移动电路,即可激活内部的球开关,从而使电路闭合。以输出低电平电压信号。可使用数字......
  • Docker基础架构
    本文主要会介绍笔者在学习Docker基础架构时所总结的知识点,其中会涉及到DockerClient、DockerDaemon以及DockerDriver等几个方面的相关内容。笔者也会将自己的理解在文中进行阐述,这也算是在和大家交流心得的一个过程。若文中有错误的理解和概念,请大家及时纠正;吸纳大家的建议,对于......
  • 2024年Java面试题大全,带你突破技术瓶颈
    全套面试题已打包2024最全大厂面试题下载......
  • 2024年Java架构师面试宝典 图文并茂 10G面试题 请收藏
    全套面试题已打包2024最全大厂面试题下载点我Java基础知识在任何一个Java架构师的面试中,基础知识始终是不可或缺的部分。你需要确保对以下几个方面有深入的理解:集合框架:如何选择合适的集合类?HashMap和ConcurrentHashMap有什么区别?多线程与并发:synchronized和ReentrantLock的......
  • Java并发基础:Semaphore全面解析!
    内容概要Semaphore通过控制许可数量,实现了对并发线程数的精细管理,有效避免了资源竞争和过载问题,能显著提升系统吞吐量和响应速度,同时,Semaphore还支持公平与非公平策略,具有更好的灵活性和适应性,满足了不同业务场景的需求。核心概念Semaphore是java.util.concurrent中非常有用......
  • Java调用ChatGPT(基于SpringBoot和Vue)实现连续对话、流式输出和自定义baseUrl
     源码及更详细的介绍说明参见Git上的README.md文档https://github.com/asleepyfish/chatgpt本文Demo(SpringBoot和Main方法Demo均包括)的Git地址:https://github.com/asleepyfish/chatgpt-demo流式输出结合Vue前端的Demo的Git地址:https://github.com/asleepyfish/chatg......