IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 使用IDEA学习java基础语法 -> 正文阅读

[Java知识库]使用IDEA学习java基础语法

开始使用IDEA

创建java工程,两种方法

  1. 直接创建java工程

    然后一路next,只需要修改工程名和路径即可

    ?

    ?

  2. 先新创建一个空项目,一路next后再选择Moudle创建java模块,如图

    ?

    然后进行项目结构的配置,将图中两个位置进行设置

    ?然后按照正常步骤即可

    1. 常使用的快捷键

      1. 快速复制一行ctrl+d

      2. 快速删除一行ctrl+y

java的基础语法

1.注释

 ? ? ? ?//三种注释的格式//
?
 ? ? ? ?//1.单行注释//
 ? ? ? ?/* 2.多行注释
 ? ? ? 多行注释
 ? ? ? 多行注释
 ? ? ? 多行注释*/
 ? ? ? ?/** 3.文档注释*/

2.常接触到的关键字

?

注意:

  1. java起名字不能用关键字起名

  2. 标识符(类名、变量名、方法名统称为标识符)开头应该以字母或者$以及_开始(可以用中文,但不建议)

  3. 首字符后可以接字母、数字以及上面两个符号

  4. 表示符对大小写敏感,避免用标识符与关键字重名

3.数据类型

分两类:基本类型和引用类型

  1. 基本类型

public class Demo01 {
 ? ?public static void main(String[] args) {
 ? ? ? ?//八大基本数据类型
?
 ? ? ? ?//1.整数类型
 ? ? ? ?int num1=50000;//最常用的
 ? ? ? ?byte num2=50;//范围最小
 ? ? ? ?short num3=5000;
 ? ? ? ?long num4=58888888888888L;//Long后面要跟l方便区分,范围最大
?
 ? ? ? ?//2.浮点数(小数)
 ? ? ? ?float num5=5.2f;//float后面要加f方便区分
 ? ? ? ?double num6=3.1415926535;//常用
?
 ? ? ? ?//3.字符
 ? ? ? ?char num7='a';
 ? ? ? ?//注意字符串String不是数据类型,它是一个类
?
?
 ? ? ? ?//4.布尔值:只有两个值true和false
 ? ? ? ?boolean num8=true;
?
 ? ? ? ?//整数拓展: 进制 二进制0b  十进制  八进制0  十六进制0x
 ? ? ? ?int i1=0b10;
 ? ? ? ?int i2=10;
 ? ? ? ?int i3=010;
 ? ? ? ?int i4=0x10;
 ? ? ? ?System.out.println(i1);
 ? ? ? ?System.out.println(i2);
 ? ? ? ?System.out.println(i3);
 ? ? ? ?System.out.println(i4);
 ? ? ? ?System.out.println("=====================================================================");
 ? ? ? ?//输出后结果均为十进制
?
 ? ? ? ?//浮点数拓展:避免使用浮点数进行比较
 ? ? ? ?float i5=0.1f;
 ? ? ? ?float i6=1/10;
 ? ? ? ?System.out.println(i5==i6);//将i5和i6进行比较,相等就会输出true,明明相等但仍然是false,得使用数学工具BigDecimal进行比较
 ? ? ? ?System.out.println(i5);
 ? ? ? ?System.out.println(i6);
 ? ? ? ?System.out.println("=====================================================================");
?
 ? ? ? ?//字符拓展(所有的字符类型本质仍然是数字。通过强制类型转换就可以得到)
 ? ? ? ?char a1='a';
 ? ? ? ?char a2='A';
 ? ? ? ?char a3='中';
 ? ? ? ?System.out.println((int)a1);
 ? ? ? ?System.out.println((int)a2);
 ? ? ? ?System.out.println((int)a3);
 ? ? ? ?//Unicode编码,通过Unicode表进行转化(a=97,A=65),每个占2字节,范围从u0000-uFFFF
 ? ? ? ?char a4='\u0061';//因为Unicode编码是十六进制
 ? ? ? ?System.out.println(a4);
 ? ? ? ?
 ? ? ? ?/*上面用到了转义字符  ‘\’ 
 ? ? ? ?常用的有
 ? ? ? ?\t  制表符(使用后会相当于按了一下tab)
 ? ? ? ?\n  换行
 ? ? ? ?*/
 ? ? ? ?
 ?  }
}
?
  1. 引用类型

    类,接口,数组

4.强制类型转换

//基础语法02
public class Demo02 {
 ? ?public static void main(String[] args) {
 ? ? ? ?/*类型优先级(从低到高):byte,short,char->int->long->float->double
 ? ? ? ?强制类型转换  格式:(类型)变量名,从高到低转换时使用
 ? ? ? ?自动转换:从低到高会自动转换
 ? ? ? ? 注意:不可转换布尔类型
 ? ? ? ? 注意转换时会出现精度问题以及内存溢出问题(有些数据类型范围比较小)
 ? ? ? ? */
 ? ? ? ?//强制转换
 ? ? ? ?int i=1;
 ? ? ? ?byte i1=(byte) i;
 ? ? ? ?System.out.println(i1);
 ? ? ? ?//自动转换
 ? ? ? ?int a=1;
 ? ? ? ?float a1=a;
 ? ? ? ?System.out.println(a1);
?
 ? ? ? ?//如何解决内存溢出问题
 ? ? ? ?int money=10_0000_0000;//jdk7新特性,数字之间可以用下划线分割,方便读写
 ? ? ? ?int year=20;
 ? ? ? ?int total1=money*year;//输出会导致内存溢出
 ? ? ? ?long total2=money*year;//默认的结果是int,仍然会导致内存溢出
 ? ? ? ?long total3=money*(long)year;//要计算过程中就把一个转换类型,才能防止内存溢出
 ? ? ? ?System.out.println(total1);
 ? ? ? ?System.out.println(total2);
 ? ? ? ?System.out.println(total3);
 ?  }
}
?

5.变量与常量

//基础语法03  变量与常量
?
/* 变量:
java变量是程序中最基础的存储单元,其元素包括了  变量名,变量类型  以及很重要的  作用域
一般格式:数据类型 变量=值;(不建议一行定义多个变量)
?
变量作用域:
类变量:写在类里面的。  格式:static 数据类型 变量=值;
实例变量:(java没有全局变量),一般写在类中间,方法外面。格式:数据类型 变量;(不用赋值)
局部变量:写在方法里面,最常用的变量。格式:数据类型 变量=值;(作用范围就在两个大括号里面)
 */
?
?
/* 常量:一种特殊的变量,定义之后就不会再改变。一般格式:final 数据类型 常量名(一般为大写字母)=值; */
public class Demo03 {
 ? ?String name;/*实例变量,无法直接被输出。如果没有自行初始化,默认一般按照数据类型默认为0 ,0.0,u0000(字符)
 ? ?布尔值默认值为null
 ? ?除了八大基本类型,其他默认为null*/
 ? ?static ?int year=2021;//类变量,可以直接被输出,从属于当前这个类
 ? ?static ?final float PI=3.1415926535F;//常量,可直接被输出
 ? ?public static void main(String[] args) {
 ? ? ? ?Demo03 demo03=new Demo03();
 ? ? ? ?//demo03.name="lisa";
 ? ? ? ?System.out.println(demo03.name);//实例变量无法直接输出
 ? ? ? ?System.out.println(year);//类变量可直接被输出
 ? ? ? ?System.out.println(PI);//常量可直接被输出
 ?  }
}
?
?
/*变量的命名规范
1.变量名,方法名以及类名应该做到“见名知意”(使用英文或者英文缩写)
2.类成员变量:首字母小写和驼峰原则(例如lastTime第一个单词小写接着第二个单词首字母大写)
3.局部变量:首字母小写以及驼峰原则
4.常量:全部大写以及下划线(太长可以加下划线)MAX_TIME
5.类名:首字母大写以及驼峰原则
6.方法名:首字母大写以及驼峰原则
 */

6.包机制

如果创建的Demo太多看上去不舒服可以先创建一个包,包创建如下图所示:然后可以将所有的Demo拖进去,(相当于起了一个文件夹的作用),按住shift选中第一个文件和最后一个文件就可以全选了

?

包命名

一般使用公司域名之类 =,比如www.baidu.com,会创建一个三级包www[baidu[com]]

使用包成员

利用import 语句使用包里面的成员,格式一般为 import 包名.包成员名; ,例如:import base.Demo01;

如果要导入所有的成员,可以使用代替,例如import base.

7.运算符

package base;
?
//基础语法04 基本运算符
/*  最常用的运算符
算数运算符:+,-,*,/,%(取余数,也称为求模),++,--
赋值运算符:=
关系运算符:>,<,>=,<=,==,!=,instanceof
逻辑运算符:&&,||,!(与或非)
位运算符:&。|,~,^,>>,<<
条件运算符:? :
拓展赋值运算符:+=,-=。*=,/=
 */
public class Demo04 {
 ? ?public static void main(String[] args) {
?
 ? ? ? ?//赋值运算符
 ? ? ? ?int a=5;
 ? ? ? ?byte b=12;
?
?
 ? ? ? ?//算数运算符
 ? ? ? ?System.out.println(a+b);//注意:结果类型会变成int,结果会自动往参与运算中最高优先级的类型转换
 ? ? ? ?System.out.println((double)b/a);//注意:除法运算如果想取得准确结果需要用到强制类型转化,否则只是四舍五入后的整数部分
 ? ? ? ?System.out.println(b%a);//取余运算或者叫模运算
 ? ? ? ?System.out.println("=======================================================================");
?
 ? ? ? ?//算数运算符中两个特殊的运算符  ++(自增)--(自减)
 ? ? ? ?int c=a++;//等价于c=a;a=a+1  意思是先给c赋值,在进行自增
 ? ? ? ?int d=++a;//等价于a=a+1;d=a  意思是先给a自增,再给d进行赋值,不论是a++还是++a,都为a=a+1
 ? ? ? ?System.out.println(c);
 ? ? ? ?System.out.println(d);
 ? ? ? ?System.out.println(++b);
 ? ? ? ?System.out.println(b++);
 ? ? ? ?System.out.println("=======================================================================");
?
?
?
?
 ? ? ? ?//关系运算符
 ? ? ? ?System.out.println(a>b);
 ? ? ? ?System.out.println(a<b);
 ? ? ? ?System.out.println(a==b);
 ? ? ? ?System.out.println(a!=b);//会判断后输出布尔值
 ? ? ? ?System.out.println("=======================================================================");
?
?
 ? ? ? ?//逻辑运算符 与&& 或|| 非!
 ? ? ? ?boolean e=true;
 ? ? ? ?boolean f=false;
 ? ? ? ?System.out.println(e&&f);//都为真才真,一个为假就输出假
 ? ? ? ?System.out.println(e||f);//只要一个为真就输出真
 ? ? ? ?System.out.println(!e);//如果为真就输出假
 ? ? ? ?System.out.println("=======================================================================");
?
 ? ? ? ?//位运算符
 ? ? ? ?/*
 ? ? ? ?举例:A=0011 1100
 ? ? ? ? ? ? B=0000 1101
 ? ? ? ? ? ? A&B=0000 1100  &与:同位都为1才为1,否则为0
 ? ? ? ? ? ? A|B=0011 1101  |或:同位都为0才为0,否则都为1
 ? ? ? ? ? ? A^B=0011 0001  ^异或;同位相同就为0,不同就为1
 ? ? ? ? ? ? ~B=1111 0010 ? ~取反:每位取相反的数
?
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 ? ? ? ? ? ? 重点重点重点,移位符:左移:<<(每移一位相当于*2)  右移:>>(每移动一位相当于/2)
 ? ? ? ? ? ? !!!!!位运算是运算效率最高的 ? ? ? 计算机中2*8算的最快的方式是2*2*2*2
 ? ? ? ? ? ? 2<<2=8
 ? ? ? ? ? ? 0000 0000 :0
 ? ? ? ? ? ? 0000 0001 :1
 ? ? ? ? ? ? 0000 0010 :2
 ? ? ? ? ? ? 0000 0011 :3
 ? ? ? ? ? ? 0000 0100 :4
 ? ? ? ? ? ? 0000 0101 :5
 ? ? ? ? ? ? 0000 0110 :6
 ? ? ? ? ? ? 0000 0111 :7
 ? ? ? ? ? ? 0000 1000 :8
 ? ? ? ? ? ? 可以看出,从2到8只相当于把2的1朝向左边移动了2位
 ? ? ? ? */
 ? ? ? ?System.out.println(2<<2);
 ? ? ? ?System.out.println(8>>2);
 ? ? ? ?System.out.println("=======================================================================");
?
?
 ? ? ? ?//!!!!!!!!!!!!!条件运算符: ?  ? :
 ? ? ? ?/*
 ? ? ? ? ?x ? y : z ? ? ? ?  意思为如果x为true,(x一般是个判断语句)则结果为y,否则为z
 ? ? ? ? */
 ? ? ? ?int s=60;
 ? ? ? ?String S=s>=60 ? "及格" :"不及格";//必须掌握
 ? ? ? ?System.out.println(S);
 ? ? ? ?System.out.println("=======================================================================");
?
 ? ? ? ?//赋值运算符
 ? ? ? ?int X=10;
 ? ? ? ?int y=20;
 ? ? ? ?X+=y;//X=X+y.其余同理
 ? ? ? ?X-=y;
 ? ? ? ?//!!!!!!!字符串连接符+ ,使用时要将字符串类型放在后面,不然会导致后面所有类型均转换为字符串类型
 ? ? ? ?System.out.println(""+X+y);//字符串类型在前面,将后面的两个int类转换了,所以导致输出结果错误
 ? ? ? ?System.out.println(X+y+"");
?
?
 ?  }
}
?

8.javaDoc

  1. 使用javadoc命令生成自己的API文档

    直接在目录前面加cmd进入命令窗

    ?

    输入 javadoc (-encoding UTF-8 -charset UTF-8(防止中文乱码加的参数)) Doc.java

  2. ?

    然后就能看到生成了很多文件,点首页文件浏览器就会自动打开看到生成的文档了

    ?

  3. 参数信息

    @author 作者名

    @version 版本号

    @since 指明需要最早使用的JDk版本

    @param 参数名

    @return 返回值情况

    @throw 异常抛出情况

    package base;
    //生成Doc
    /**
     * @author fx
     * @version 1.1
     * @since 1.0
     */
    public class Doc {
     ? ?String name;
     ? ?/**
     ? ? * @author  fx
     ? ? * @param name
     ? ? * @return
     ? ? * @throws  Exception
     ? ? */
     ? ?public String test(String name) throws Exception{
     ? ? ? ?return ?name;
     ?  }
    }
    ?
  4. 使用IDEA生成javaDoc

从上到下

  1. 选择是整个项目还是模块还是单个文件

  2. 文档输出路径

  3. Locale 选择地区决定了文档的语言,中文就是zh_CN

  4. 传入JavaDoc的参数,一般这样写 -encoding UTF-8 -charset UTF-8

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-10-11 17:22:52  更:2021-10-11 17:25:46 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 21:58:20-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码