java入门一:java语法基础

2023-10-30

1、注释,标识符

单行注释//、多行注释 / *文字 */ 、文档注释/**文字 * /
注释不会被编译,写给程序员看,平时写代码一定写注释,方便别人看的懂你的代码,或者写久了自己忘了干嘛的
在这里插入图片描述
①关键字:abstract、assert、boolean、int、class、、、不能用这些关键字命名变量或者方法
②标识符:标识符以(A-Za-z$_)开始后面可以是任意字符(标识符是大小写敏感的)
非法的命名:#as(以#开头)、123ad(以数字开头)、-asd(以-开头)
在这里插入图片描述
print输出的时候不换行输出
println输出的时候可以换行输出

2、java的数据类型

2.1基本数据类型

java的基本数据类型共有四种:整型、浮点型、字符型、布尔型,从中可细化分为8种基本数据类型
①整型:字节byte、短整型short、整型int、长整型long
②浮点型:浮点型float、双精度浮点型double
③字符型:字符型char
④布尔型:布尔型boolean
在这里插入图片描述

少用浮点数进行数值的比较会有舍入误差一般用数学工具类BigDecimal进行比较
在这里插入图片描述
制表符\t、换行\n
JDK7的长数字可以用下划线分割特性,以及注意内存溢出问题,Float的数字后面加fF都一样但是为了规范要用大写long同理

public class Demo05 {
    public static void main(String[] args) {
        // 操作比较大的数字的时候注意溢出的问题
        // JDK新特性,数字之间可以用下划线分割
        int money = 10_0000_0000;
        System.out.println(money);
        int years = 20;
        int total1 = money*years;
        // 默认是int,计算好就已经是int了,转换之前已经存在问题了
        long total2 = money*years; // -1474836480
        long total = money*((long)years); // 20000000000
        // 计算的时候溢出了
        System.out.println(total); // -1474836480
    }
}

2.2引用数据类型

类、接口、数组

2.3类型转换

java是一门强类型语言,在变量定义的时候,就会被定义好类型,如果不做类型转换他永远就是这个类型,在python语言中name直接可以被覆盖定义,但是在java中变量只要被使用了就不能重新在定义了
在这里插入图片描述
变量之间的定义如果不符合规范就会报错,鼠标悬停就会知道为什么报错
在这里插入图片描述
由于java是强类型语言所以在进行运算的时候要进行类型转换,不同类型要转换为同一类型才能进行运算
由低->高 容量大,小数的优先级高于整数
在这里插入图片描述
强制类型转换:(类型)变量名,高到低
自动类型转换:低到高
在这里插入图片描述

3、变量的类型

java是一门强类型语言,变量在使用之前必须先声明,安全性高,声明的时候如果赋了初始值,则叫做变量的初始化,也可以只声明,不使用
java变量是程序中最基本的存储单元,要素包括变量名、变量类型、作用域
DataType identifier=value;
DataType identifier;
DataType:变量类型,如 int、string、 char 和 double
identifier:标识符,也叫变量名称
value:声明变量时的值
在这里插入图片描述
psvm回车直接生成public static void main
sout回车直接生成System.out.print
变量的类型一共分三种:类变量、实例变量、局部变量

  1. 局部变量:定义在类的方法内或者代码块内的变量,局部变量只在定义它的方法体内或者代码块内有效,局部变量在使用前,必须先初始化
  2. 实例变量:从属于对象,使用之前必须先实例化对象
  3. 类变量:从属于类,随着类的消亡而消亡,
public class Demo07{
    // 属性:变量
    // main方法
    // 实例变量:从属于对象;如果不自行初始化,他会变为这个类型的默认值
    String name; // null
    int age; // 0
    boolean flag; // false
    // 除了基本数据类型,其余的默认值都是null
    static double salary=2500;
    public static void main(String [] args){
        // 局部变量:是在方法里面的,使用之前必须声明和初始化值
        int i = 10;
        System.out.println(i);
        // 变量类型 变量名字=new Demo07()
        Demo07 demo07 = new Demo07(); // option+enter
        System.out.println(demo07.age);
        System.out.println(demo07.name);
        System.out.println(demo07.flag);
        // 类变量 static
        System.out.println(salary);
    }
    //其他方法
    public void add(){
    }
}

3.1常量

初始化之后就不能再改变的值,不会变动的值称之为常量,他也是一种特殊的变量只是他的值被设定后,在程序运行的过程中不允许被改变,关键字为final,常量名一般使用大写字符

public class Demo08 {
    // 修饰符,不存在先后顺序,变量类型前面都可以加修饰符
    static final double PI = 3.14;
    final static double P = 3.12;
    public static void main(String[] args) {
        System.out.println(PI);
        System.out.println(P);
    }
}

4、运算符

算数运算符:+、-、*、/、%、++、- -

public class Demo04 {
    public static void main(String[] args) {
        // ++ -- 自增 自减,一元运算符
        int a=3;
        int b = a++; // 执行完这行代码后,先给b赋值然后在自增
        // a++ : a = a+1
        System.out.println(a); // 4
        // a++ : a = a+1
        int c = ++a; // 执行完这行代码前,先给b赋值然后在自增
        System.out.println(a); // 5
        System.out.println(b); // 3
        System.out.println(c); // 5
        // 因为执行的时机不同,a++是在下面才执行的,而++a是在上面执行的
        // 幂运算 2^3 2*2*2=8 很多运算我们会使用一些工具类来操做
        double pow = Math.pow(2, 3);
        System.out.println(pow);
    }
}

赋值运算符:=
关系运算符:>、<、>=、<=、==、!=、instanceof
逻辑运算符:&&、||、!
位运算符:&、|、^、~、>>、<<、>>>
条件运算符:?:

public class Demo08 {
    public static void main(String[] args) {
        // x?y:z
        // 如果x==true ,则结果为y,否则结果为z
        int score = 50;
        String type=score<60?"不及格":"及格";
        System.out.println(type);
    }
}

扩展赋值运算符:+=、-=、*=、/=

5、包机制,JavaDoc

包的本质就是文件夹用来将项目分层便于管理,防止命名空间重复的问题
一般利用公司域名倒置作为包名:www.baidu.com
com.baidu.www,引入包名通过package,导入其他包中的文件通过import
在这里插入图片描述
引入包必须放在最上面的一行,导包注意不要导入名字重复的类
javadoc命令是用来生成自己API文档的
参数信息
@author 作者名
@version 版本号
@since 指明需要最早使用的jdk版本
@param 参数名
@return 返回值情况
@throws 异常抛出情况
写好注释,进入文件的目录下输入javadoc,即可生成注释文档
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java入门一:java语法基础 的相关文章

  • 相关概念地址笔记

    公平锁与非公平锁 https www jianshu com p f584799f1c77 java socket编程https www cnblogs com mingforyou p 3258418 html java四种引用类型htt
  • RocketMQ解析

    文章目录 1 单机版消息中心 2 分布式消息中心 2 1 问题与解决 2 1 1 消息丢失的问题 2 1 2 同步落盘怎么才能快 2 1 3 消息堆积的问题 2 1 4 定时消息的实现 2 1 5 顺序消息的实现 2 1 6 分布式消息的实
  • Think in java书籍阅读小结

    一 博客说明 本篇博客为本人看完think in java这本书后 个人查漏补缺的一些知识点 记录下来作为笔记使用 二 变量初始化顺序 在一个类里 变量初始化的顺序是由变量在类内的定义顺序决定的 即使变量定义大量遍布于方法定义的后面 那些变
  • (java基础学习)异常

    1 基本概念 java语言中 将程序中发生的不正常情况称为 异常 开发过程中的语法错误和逻辑错误不是异常 2 异常事件分为两大类 1 Error 错误 2 Exception 1 Error 错误 java虚拟机无法解决的严重问题 如 JV
  • java入门二:java流程控制

    1 用户交互Scanner java util Scanner是Java5的新特性 可以通过Scanner类来获取用户的输入 基本语法 Scanner s new Scanner System in 通过Scanner类的next 与nex
  • java入门一:java语法基础

    1 注释 标识符 单行注释 多行注释 文字 文档注释 文字 注释不会被编译 写给程序员看 平时写代码一定写注释 方便别人看的懂你的代码 或者写久了自己忘了干嘛的 关键字 abstract assert boolean int class 不
  • java进阶一:java集合

    1 集合简介 集合和数组类似 都是储存元素的容器 数组像是静态容器 长度一旦创建就不能再改变 元素类型必须统一 只能通过下标去索引元素等 集合像是动态容器 集合的长度可以动态的改变 元素类型可以不一致 可以用某个映射的关系去索引元素等 ja
  • Android校招复习全书(1)-j2se

    一 九种基本数据类型的大小 以及他们的封装类 关于JAVA基本数据类型 名称 解释 长度 位 默认值 封装类 byte 字节 8 0 Byte shot 短整型 16 0 Short int 整型 32 0 Integer long 长整型
  • 关于java中File类的总结

    1 File类只是操作文件 不涉及内容 2 File类的重要方法 设置完整路径 public File String filename 删除文件 public boolean delete 判断文件是否存在 public boolean e
  • JAV学习Object类

    Obj类 首先我们要认识到 Object类是我们所有类的顶层父类 所有类都是直接或者间接的继承自他 我们可以将它new出来也就是格式 Object obj new Object 我们罗列出来objct类的常用方法然后再一一介绍 方法名 ob
  • Java中局部变量、静态变量、静态方法的有效范围与调用

    1 局部变量 定义 在成员方法中定义的变量称为局部变量 方法中的形参也可以作为局部变量 例 public void method1 n i均为局部变量 int n for int i 0 i lt 5 i System out printl
  • c# 中MD5.ComputeHash() aes加密,在Java和golang中的实现

    类似移植C 代码需求 需要加密效果一致 C 中使用了AesCryptoServiceProvider加密 文档链接 AesCryptoServiceProvider 类 下载里面代码在Visul Studio2019中可以针对原加密字符解密
  • JDK源码系列 & JAVA语言数据类型Byte

    目录 类的继承结构图 类的Diagram图 类 类的注释 源码分析 全局变量 静态内部类 构造方法 静态方法 parseByte 静态方法 valueOf 静态方法 toString 静态方法 hashCode 静态方法 decode 静态
  • Java基础学习之函数式编程Comsumer接口(JDK8)

    前言 从毕业到现在正好三年 高难度的项目做了不少 但是基础这个东西一段时间不接触就会忘得一干二净 话不多说 开始今天的学习 1 Consumer接口 接触过 消费者 生产者 模式的同学 肯定对这个单词不陌生 在java8函数式编程和lamb
  • Java学习(对象与类)——文档注释,生成JavaDoc文件

    目录 注释的插入 类注释 方法注释 字段注释 通用注释 包注释 生成帮助文档JavaDoc 注释的插入 javadoc实用工具从下面几项中抽取信息 模块 包 公共类和接口 公共的和受保护的字段 公共的和受保护的构造器及方法 每个文档注释 包
  • 30--子类对象的实例化过程

    在继承的操作中 对于子类的实例化也是有要求的 即子类对象在实例化之前必须首先调用父类中的构造方法 然后再调用子类自己的构造方法 实例1 定义父类 package com qwy bean public class Person privat
  • java入门四:数组

    1 数组概述 数组是最简单的数据结构 是相同类型数据的有序集合 数组描述的是相同类型的若干个数据 按照一定的先后次序排列组合而成的 数组中 每一个数据称作一个数组元素 每个数组元素可以通过一个下标来访问他们 2 数组的声明创建 首先必须声明
  • Java基础学习之函数式编程Predicate接口(JDK8)

    前言 今天继续来学习函数式编程接口之Predicate接口 1 上源码 package javax persistence criteria import java util List public interface Predicate
  • java入门六:java基础终章

    1 static关键字 静态变量和类一起加载 final修饰后的类无法被继承 2 抽象类 abstract修饰符可以用来修饰方法也可以修饰类 如果修饰方法 那么该方法就是抽象方法 如果修饰类 那么该类就是抽象类 抽象类中可以没有抽象方法 但
  • Java基础学习之并发篇:手写阻塞队列ArrayBlockingQueue

    学习目标 我们都知道在并发编程中 阻塞队列在多线程中的场景特别有用 比如在生产和消费者模型中 生产者生产数据到队列 队列满时需要阻塞线程 停止生产 消费者消费队列 对队列为空时阻塞线程停止消费 在Java中有提供不同场景的阻塞队列 那么接下

随机推荐

  • 搭建spring-cloud-alibaba微服务项目:springBoot服务+nacos注册中心+nacos配置中心+feign服务交互+gateway网关

    项目说明 从0 1 搭建cloud alibaba微服务项目 包括各个springBoot服务 nacos注册中心 nacos配置中心 feign服务交互 gateway网关 首先统一微服务种alibaba相关组件的依赖版本问题 官方参考文
  • Android中LocalSocket使用

    http www cnblogs com bastard archive 2012 10 09 2717052 html 一 Socket Socket最初用在基于TCP IP网络间进程通信中 以客户端 服务器模式进行通信 实现异步操作 共
  • vue项目实现微信扫码登录

    要在Vue项目中实现微信扫码登录功能 你可以按照以下步骤进行操作 注册微信开放平台账号并创建应用 首先 在微信开放平台上注册一个账号 并创建一个应用 获取到应用的AppID和AppSecret 安装 Axios 在Vue项目中使用Axios
  • python setup.py install报错“error: can‘t create or remove files in install directory”

    运行python setup py install 报错 running install error can t create or remove files in install directory The following error
  • 叶面积指数(LAI)介绍以及遥感估算方法

    前言 叶面积指数精度是正确预测产量的重要参数之一 同时 还有那么多疑问 如何才能正确 以及如何使用最有效的方法计算叶面积指数 LAI 什么是最佳 LAI 哪些估算叶面积指数精度的方法比较好 本文为初学者做了简要介绍 并在文章末尾附了两种估算
  • 史上最全的正则表达式-匹配中英文、字母和数字

    1 匹配中文 u4e00 u9fa5 2 英文字母 a zA Z 3 数字 0 9 4 匹配中文 英文字母和数字及下划线 u4e00 u9fa5 a zA Z0 9 同时判断输入长度 u4e00 u9fa5 a zA Z0 9 4 10 5
  • vue3中将数据导出为excel表格

    目标 将vue3接口中得到的数据转换为数组 然后利用Export2Excel导出为excel表 1 开始之前要准备 1 Export2Excel js文件 在后面标题4附上 我是放在until目录下 2 npm i xlsx 安装失败后面加
  • 6.4-为何要深度学习

    文章目录 一 模型对比 二 模块化 Modularization 三 语音辨识 3 1 类比 Analogy 3 2 端到端学习 End to end Learning 四 复杂任务 五 更多的原因 一 模型对比 在参数量相同的条件下 究竟
  • dede仿站时----实现简单图片滚动(轮流图)效果

    第一次发文章 说的不好 请见谅 刚处理了标题这个问题 也百度半天没好办法 自己混乱的整理出来 所以发出来 说说自己的解决办法 直接代码 图 代码 dede arclist typeid 20 orderby pubdate type ima
  • 实战 逆向最新黄鸟抓包软件

    前言 观众器者为良匠 观众病者为良医 这篇文章分析了知名抓包软件HttpCanary高级功能的使用限制 使用了许多实用的工具 过程写的尽可能的详细 希望对大家有所帮助 笔者实践环境 pixel 6 Android 12 frida 15 1
  • 通过CUDA deviceQuery分析NVIDIA显卡性能

    参考 http blog sina com cn s blog 471e6c930102wlp5 html 序号 名称 值 解释 1 Detected 1 CUDA Capable device s 1 检测到1个可用的NVIDIA显卡设备
  • JetBrains全家桶激活地址

    全家桶地址 https www jetbrains com products html fromMenu JetBrains 授权服务器 License Server URL http idea imsxm com 使用方法 激活时选择Li
  • Oracle中RMAN基本命令教程

    一 target 连接数据库 1 本地 oracle oracle rman target 2 远程 oracle oracle rman target sys oracle orcl 二 show 查看配置 RMAN gt show al
  • JSP之cookie的使用说明

    1 cookie介绍 1 来自于Servlet规范中提供一个工具类 2 如果两个Servlet为同一个用户 用一个浏览器提供服务 此时借助于用户的cookie实现数据共享 3 cookie在现实生活中相当于用户的会员卡 当没有手动清除浏览器
  • Linux 进程间通讯

    文章目录 一 进程间通讯概念 进程通讯介绍 进程间通讯的分类 二 进程间通讯之管道 1 无名管道 无名管道概述 无名管道 API 无名管道的实例 无名管道的读写特点 设置为非阻塞的方法 2 有名管道 有名管道的概述 有名管道的使用 有名管道
  • RISC-V --rocket-chip generator介绍及其仿真使用

    最近工作使用 rocket chip generator 仿真非极大值抑制算法 C语言编写 分析其时序模型和riscv汇编指令 这里将rocket chip generator的使用方法总结一下 说明 使用的rocket chip gene
  • MOSFET知识小结

    MOSFET知识小结 MOSFET的基础知识 参见百度百科 场效应管 MOSFET的驱动 专用IC驱动 优点 电路集成度高 驱动能力强 使用简单 缺点 成本高 适用范围 非典型应用 如NMOS的高边驱动 驱动电流要求高的情况 注意事项 使用
  • 恒林家居引入纷享销客CRM系统,领跑家居行业营销数字化进程

    近日 恒林家居股份有限公司 股票代码 603661以下简称为 恒林家居 携手纷享销客在湖州召开了CRM项目启动会 双方领导及核心项目人员齐聚一堂 展开了深度交流并达成了重要共识 作为家居行业的领军企业 恒林家居自22年扩容 大家居 战略赛道
  • apache2.4配置服务器,文件都是从配好的服务器上直接拿下来的,极具参考性

    hello 大家好 我是咖啡汪 今天刚好给服务器配置了 SSL 证书 所以写这篇文章来分享下心得 以下文件包括了80 端口监听代理映射 和 443 端口监听代理映射 1 下载下来的ssl 证书截图如下 2 修改 httpd conf 内容如
  • java入门一:java语法基础

    1 注释 标识符 单行注释 多行注释 文字 文档注释 文字 注释不会被编译 写给程序员看 平时写代码一定写注释 方便别人看的懂你的代码 或者写久了自己忘了干嘛的 关键字 abstract assert boolean int class 不