Java基础01:注释

关闭 idea 后再次打开,默认打开上一次关闭时的项目

新建空项目

File --> New --> Project...

Empty Project --> 填写 Name JAVASE --> create

This Window

新建模块

File --> New --> Module...

New Module --> BasicGrammar --> create

环境配置

File --> Project Structure

选择SDK,改语言级别

新建一个helloworld class再运行

注释

单行注释

line comment

//单行注释

多行注释

block comment

/*
多行注释
*/

在IntelliJ IDEA中打出/*然后回车,即可补全剩下的*/

文档注释
/*** 文档注释* @description hello, world!* @author lb*/

在IntelliJ IDEA中打出/**然后回车,即可补全剩下的*/

搜索引擎搜索有趣的代码注释

https://blog.csdn.net/ydk888888/article/details/81563608

Java基础02:标识符和关键字

标识符

  • 首字符只能是字母、美元符($)、下划线。
  • 首字符之后可以是字母、美元符($)、下划线或数字的任何字符组合。
  • 不能使用关键字作为变量名或方法名。
  • 标识符会区分大小写。

Java基础03:数据类型讲解

Java是强类型语言

即要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用。

Java的数据类型分类

基本类型

primitive type,其中 primitive 是原始的意思。

public class PrimitiveType_8 {public static void main(String[] args) {//整数byte  num1 = 1;   //占1个字节,2^8  -128~127short num2 = 2;   //占2个字节,2^16 -32768~32767int   num3 = 4;   //占4个字节,2^32 -2,147,483,648~2,147,483,647long  num4 = 8L;  //占8个字节,需要在数字后面加个L,2^64 -9,223,372,036,854,775,808~9,223,372,036,854,775,807//小数/浮点数float  num5 = 50.1f;         //占4个字节,需要在数字后面加个f或Fdouble num6 = 3.1415926;     //占8个字节//字符char name = 'A';             //定义一个字符(是指计算机中使用的字母、数字、字和符号),占4个字节//布尔值;定义是和非boolean flag = true;         //占1位//或 boolean flag = false;}
}

float与double的范围和精度

引用类型

reference type

分为类、接口、数组

Java基础04:数据类型扩展及面试题讲解

public class PrimitiveType_8Expand {public static void main(String[] args) {//整数拓展int i = 10;     //十进制int j = 010;    //八进制 0int k = 0x10;   //十六进制 0xSystem.out.println(i);System.out.println(j);System.out.println(k);//浮点数拓展//面试题:银行业务的钱应该用什么类型表示?  答:BigDecimal 大十进制 数学工具类//float 有限 离散,存在舍入误差//最好完全避免使用浮点数进行比较System.out.println("===========================");float f = 0.1f;     //0.1double d = 1.0/10;  //0.1System.out.println(f);System.out.println(d);System.out.println(f == d);   //会输出false,f和d不相等float f1 = 123456789f;float f2 = f1 + 1;System.out.println(f1);System.out.println(f2);System.out.println(f1 == f2);   //会输出true,f1和f2相等//字符拓展//所有字符本质还是数字//Unicode编码表,每个字符占2个字节//U0000 ~ UFFFFSystem.out.println("===========================");char c1 = 'A';char c2 = '中';System.out.println(c1);System.out.println((int)c1);   //强制类型转换System.out.println(c2);System.out.println((int)c2);char c3 = '\u0061';System.out.println(c3);//转义字符  \// \t   制表符// \n   换行符System.out.println("hello\tworld");}
}

Java基础05:类型转换

java中不同类型的数据进行运算,需要先转换成同一类型,然后进行运算。

低---------------------------------------->高
byte,short,char-->int-->long-->float-->double   //浮点型高于整型
public class TypeConversion {public static void main(String[] args) {int i = 128;//由高到低,需要进行强制类型转换, (类型)变量名byte b = (byte) i;      //内存溢出//由低到高,自动类型转换double d = i;System.out.println(i);System.out.println(b);System.out.println(d);/*类型转换注意事项:1. 不能对布尔值进行转换2. 不能把对象类型转换为不相干的类型(对象类型?)3. 在把高容量转换到低容量的时候,需要进行强制类型转换4. 转换的时候可能存在内存溢出或精度问题*/System.out.println("==================");System.out.println((int)23.7);      //输出23      大水杯倒到小水杯System.out.println((int)-45.89f);   //输出-45System.out.println("==================");char c = 'a';int d1 = c+1;System.out.println(d1);System.out.println((char)d1);}
}
package Type;public class TypeConversionQuestion {public static void main(String[] args) {//操作比较大的数的时候,注意溢出问题int money = 1_000_000_000;   //JDK7新特性,数字之间可以用下划线分割  int类型范围:-2,147,483,648~2,147,483,647int years = 20;int total = money*years;    //money*years计算时已出现溢出System.out.println("total=" + total);System.out.println("-----溢出测试开始-----");int test = 2_147_483_647;int testResult = test + 1;System.out.println("testResult=" + testResult);System.out.println("-----溢出测试结束-----");long total1 = money*years;    //money*years计算时已出现溢出,溢出的int转换成long还是溢出时的intSystem.out.println("total1=" + total1);//正确做法//注意:强制类型转换符优先级高于乘法运算符,不用加括号。long total2 = money*(long)years;System.out.println("total2=" + total2);long total3 = ((long)money)*years;System.out.println("total3=" + total3);long total4 = (long)money*years;System.out.println("total4=" + total4);}
}

Java基础06:变量、常量、作用域

变量、作用域

/*
没建class文件
*/
public class Variable{static int allClicks=0;      //类变量   static 静态的String str = "hello world";    //实例变量public void method(){int i = 0;              //局部变量}
}
public class VeriableScope {//类变量 带static(静态的)static double salary = 2500;//实例变量:从属于对象,如果不进行初始化,数字类型默认为 0、0.0;布尔值默认为false;其他类型默认为nullString name;int age;//main方法public static void main(String[] args) {//局部变量(只在大括号内有用):使用前必须声明和初始化值int i;i = 10;System.out.println(i);//变量类型 变量名 = new VerableScope();VeriableScope VeriableScope = new VeriableScope();  //打出 new VeriableScope(); 后按Alt+Enter,第二个veriableScope首字母小写会报错System.out.println(VeriableScope.name);System.out.println(VeriableScope.age);//类变量 带staticSystem.out.println(salary);}//其他方法public void add(){}
}

常量

public class Constant {//常量:final 常量类型 常量名 = 常量值;//常量名一般用大写字母//修饰符static可以在final的前面或后面static final double PI = 3.14;public static void main(String[] args) {System.out.println(PI);}
}

命名规范

类名:首字母大写和驼峰原则:Man、GoodMan

类成员变量:首字母小写或驼峰原则:monthSalary

常量:大写字母和下划线:MAX_VALUE

方法名:首字母小写和驼峰原则:run()、runRun()

局部变量:首字母小写或驼峰原则

Java基础08:自增自减运算符、初识Math类

Math类

幂运算
package Operators;public class Operator {public static void main(String[] args) {double pow = Math.pow(2, 3);   //2^3=8     power 幂System.out.println(pow);}
}

Java基础09:逻辑运算符、位运算符

逻辑运算符

逻辑或运算符:||

逻辑与运算符:&&

逻辑非运算符:! ,真/假反转。

位运算符

package Operators;
/*
位运算符*/
public class BitwiseOperators {public static void main(String[] args) {/*A = 0011 1100B = 0000 1101------------------&:按位与|:按位或^:按位异或,相同得0,不同得1。如:A^B = 0011 0001~:按位取反面试题:怎样计算 2*8 = 16 最快?答:2<<3,将2左移三位2: 0000 001016: 0001 0000<<:左移,相当于 *2>>:右移,相当于 /2*/System.out.println(2<<3);   //2*2^3System.out.println(2<<7);System.out.println(2<<15);System.out.println(2<<29);  //左移尽头System.out.println(2>>1);System.out.println(2>>2);   //右移尽头}
}

Java基础10:三元运算符及小结

public class TernaryOperator {public static void main(String[] args) {int a = 10;int b = 20;// 字符串连接符:+System.out.println(""+a+b);     // 输出结果为 1020System.out.println(a+b+"");     // 输出结果为 30System.out.println("---------------");/*条件运算符:条件 ? 表达式1:表达式2;若条件成立,则结果为表达式1;反之,结果为表达式2*/int score = 60;String result = score>=60? "及格":"不及格";System.out.println(result);}
}

Java基础11:包机制

包机制

为了更好地组织类,Java提供了包机制,用于区别类名的命名空间。

package 相当于文件夹

包语句的语法格式为:

package pkg1.pkg2.pkg3...

一般将公司域名倒置作为包名

package com.baidu.www

新建包

压缩显示

展开成三个包

左键单击齿轮

取消勾选Compact Middle Packages

导入包

为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包。

import 语句的语法格式:

import pkg1.pkg2.classname
import pkg1.*   // *是通配符,导入pkg1下所有的类

Java基础12:JavaDoc生成文档

JDK8官方帮助文档:https://docs.oracle.com/javase/8/docs/api/

/*** @author 作者名* @version 程序版本号* @since 指明支持jdk最低版本号* param 参数名* return 返回值情况* throws 异常抛出情况*/

在命令行中利用javadoc命令生成api文档

package com.baidu;/*** @author lb   * @version 1.0* @since 1.8*/public class JavaDoc {String name;/**** @param name* @return* @throws Exception*/public String test(String name) throws Exception{return name;}
}

打开JavaDoc.java所在文件夹

右键JavaDoc–>Open in–>explorer

左键单击地址栏,输入cmd后回车

输入javadoc JavaDoc.java(若中文出现乱码,则输入javadoc -encoding UTF-8 -charset UTF- 8 JavaDoc.java)

在生成的文件中,双击index.html,即可在浏览器中查看

注:使用该方式生成不会显示作者、版本号等信息。

使用Intellij IDEA生成JavaDoc文档

Tools–>Generate JavaDoc...

设置JavaDoc生成范围 --> 生成后输出的路径 --> 哪些参数可见 --> 防止中文显示出现乱码

点击Generate即可生成

【狂神说Java笔记】Java基础相关推荐

  1. java笔记从基础到高级完整版

    Java概述 java完整版笔记 ​ Java是跨平台的编程语言,一次编写,到处运行.Java程序是 运行在jvm虚拟机上,不同的操作系统安装jvm就可以运行Java程序. Java开发环境配置 1. ...

  2. Java笔记-Java日常笔记-Java核心语言-史上最全Java笔记-Java烂笔头-实时更新(~v~)

    阿一的日常Java笔记,实时更新,有什么问题可以留言交流一下,大家一起共同进步!!! 1.Java基础 1.1.基本语法 1.1.1.关键字 ​ 定义:被java赋予特殊含义的字符串(单词): ​ 关 ...

  3. Java笔记——Java多线程~

    多线程 内容来自博客~ 理解线程与进程 进程 进程:是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间,一个应用程序可以同时运行多个进程:进程也是程序的一次执行过程,是系统运行程序的基本单位 ...

  4. java笔记之基础-outer标签

    日常笔记之java基础-outer标签 介绍: ​ 业务逻辑中经常需要用到for循环,其中也会有循环嵌套循环,结束一层循环仅需一个break即可,但如果想结束两层,或者三层怎么搞呢,Java提供了ou ...

  5. 关于java线程同步的笔记_线程同步(JAVA笔记-线程基础篇)

    在多线程应用程序中经常会遇到线程同步的问题.比如:两个线程A.线程B可能会 "同时" 执行同一段代码,或修改同一个变量.而很多时候我们是不希望这样的. 这时候,就需要用到线程同步. ...

  6. 狂神说学习笔记 Java流程控制

    目录 Java流程控制 1.用户交互Scanner Scanner对象 next() nextLine(): 2.顺序结构 3.选择结构 4.循环结构 5.Break & Continue 6 ...

  7. JAVA笔记---------字符串基础与操作

    字符串基础: 声明字符串: String a; String a,b; 赋值: String a="";//若没有赋值该值为空值null String b,c; b="& ...

  8. java需要记的语法,Java笔记(三)……基础语法

    myeclipse,eclipse控制台输出乱码问题 首先我描述一下问题,我在做udp socket编程(一个聊天的程序)的时候,从控制台中读取中文,然后再向控制台中打印,出现中文乱码的情况. 1.出 ...

  9. Java笔记(基础第二篇)

    声明数组 数组元素类型 数组名字[]; 数组元素类型[] 数组名字; 分配内存空间 数组名字 = new 数组元素类型[数组元素的个数] 其中使用new关键字为数组分配内存时,数组中各个元素的初始化值 ...

  10. 狂神 Docker学习笔记 从基础到进阶 一步到位

    Docker 学习笔记 感谢狂神的分享.附上B站视频链接. https://www.bilibili.com/video/BV1og4y1q7M4?from=search&seid=92256 ...

最新文章

  1. 日本未来投资重点领域是物联网和人工智能应用
  2. Kafka-0.10.0.0 集群高可靠实验
  3. [问题处理]redmine的gantt图导出出现‘星星星星星星星星’怎么解决
  4. 【ASWL】之RAID配置实战
  5. bzoj#4161-Shlw loves matrixI【常系数线性齐次递推】
  6. SurfaceFlinger与Surface概述
  7. 换行符javajava去除字符串中的空格、回车、换行符、制表符
  8. “云联邦”构建连云成片、无缝混合的一朵云
  9. STM32工作笔记0024---什么是电流,什么是电压,什么是电阻,电阻的作用
  10. jquery 利用CSS 控制打印样式
  11. [LeetCode]Trapping Rain Water
  12. nsis访问php,Inetc是NSIS下载文件ftp文件显示进度条支持post和get操作的网络插件
  13. 图吧主机linux,图吧的日常 篇一百零六:图吧垃圾佬的LINUX体验(UBUNTU)
  14. 系统管理指南:基本管理 第11 章• x86: 基于GRUB 的引导(任务)
  15. 社区版PyCharm安装并创建Django项目
  16. 记一次idea 打包时出现的错误 Discovered module-info.class. Shading will break its strong encapsulation.
  17. ORB-SLAM2安装以及遇到问题
  18. 使用Office2013打开文档时,弹出“正在与服务器联系以获取信息”对话框问题
  19. js 判断企业微信打开
  20. (四)Tensorboard学习——mnist_with_summaries.py

热门文章

  1. 赵本山给美国人测智商
  2. 陆筛林经典问答精选100例
  3. 苹果热在华退烧:新品不再受追捧
  4. 解决图片底部默认空白缝隙问题
  5. 关于discuz发帖按钮
  6. java俄罗斯方块总结_java写的俄罗斯方块的心得
  7. 机器学习中的数学原理——梯度下降法(最速下降法)
  8. Delphi可视化编程语言跨平台百科.
  9. Halcon:通过CFileDialog选择图片
  10. 盗版微擎倒卖获利40万,自学成才的假程序员被抓了!