Java入门
JDK
-
Java Development Kit(Java 开发工具包)的缩写,有开发时所需的命令和jar文件。用于 java 程序的开发,提供给程序员使用
-
使用 Java 语言编程都需要在计算机上安装一个 JDK
-
JDK 的安装目录 5 个文件夹、一个 src 类库源码压缩包和一些说明文件
1、 bin:各种命令工具, java 源码的编译器 javac、监控工具 jconsole、分析工具 jvisualvm (执行文件以及命令)等
2、include:与 JVM 交互C语言用的头文件
3、 lib:类库(开发和运行的jar文件)
4、 jre:Java 运行环境
5、 db:安装 Java DB 的路径
JDK的安装
使用默认安装方式
环境变量的配置
- 我的电脑–>右击–>属性–>高级–>环境变量(用户变量和系统变量)
- 系统变量
1.新建 JAVA_HOME C:\Program Files\Java\jdk1.80_65(JDK的安装路径)
2.新建 CLASSPATH .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
4.修改 Path %JAVA_HOME%\bin;需要放置到最上面(win10没有;)
测试
进入dos,使用javac -version和java -version进行测试,如果jdk安装成功会显示jdk版本信息
Java注释
- //单行注释
- /多行注释/
- /*文档注释/
- javadoc Test01.java生成帮助文档
dos:磁盘操作系统
- help 帮助命令 显示所有命令
- tab 自动补全
- cd directory 改变当前目录(只能在当前磁盘下运行)
- 切换盘符: 盘符名:(例如D:)
- dir 显示当前目录下的子目录和文件
- tree 以树状结构显示当前目录下的子目录以及后代目录
- ping:ping www.baidu.com
- ipconflg
使用nodepad编写java程序
注意:如果加入中文注释,编译会有乱码
解决办法:nodepad默认的GBK,修改成ANSI格式编码
标识符命名规范
类名,变量名,方法名,接口名,常量名称为标识符
标识符由英文字母、数字、下划线、美元符号组成,只能以英文字母、下划线、美元符号开头,不能以数字开头,除了_、$外,不能出现任何其他符号且严格区分大小写
扩展:
- 类名所有单词首字母大写 StudentInfo
- 变量名,函数名第一个单词的首字母小写
变量名 例:stuName
函数名 例:getStuName() - 包名所有首字母小写 例:java.util
- 常量名所有字母大写 PI
- 不能使用关键字
变量:堆栈中数据的存储单元
如何声明变量
数据类型 变量名[=值] 例如:int a=12;
全局变量:定义在类中,方法外的变量,可以在任意函数中使用
局部变量:定义在函数中,从声明开始,同一级或下一级代码块都可使用
数据类型
基本数据类型(原始数据类型)
- boolean 1位 true false
- byte 1字节 8位 -128~127
- short 2字节 -2^15 ~ 2^15-1
- char 2字节 采用unicode编码 0-65535 范围:‘\u0000’~‘\uFFFF’
- int 4字节
- long 8字节
- float 4字节 float f=12.43f(后面的f是类型标识,明确是float类型了!不会被识别为double类型或相似的数据类型 )
- double 8字节
引用数据类型
new关键字在堆中开辟空间
-
字符串
String str=new String(“China”);
String str=“China”;
s1.equals(s2) 字符串比较 字符串相同,返回true否则返回false -
数组
-
对象
注意点:
- 一个引用名只能指向一个对象
- 一个对象可以被多个引用名指向
- 引用名没有指向任何对象 null
java自动垃圾回收机制
详情请看
链接: Java GC(垃圾回收机制)https://www.cnblogs.com/dmzna/archive/2020/05/18/12913458.html.
链接: JVM系列:查看JVM使用的什么垃圾收集器 https://www.cnblogs.com/pc-boke/articles/10247068.html.
运算符
算术运算符
主要有:+、—、*、/、%、++(++在后,先执行再++ ++在前,先++再执行)、–、sum+=i(sum=sum+i)等
赋值运算符
=(例如:a=12;右边的值赋给左边的变量)
关系运算符
主要有:>、>=、<、<=、==、!=
位运算符
- &按位与 1001&0101 0001 全部为1取1否则取0
- |按位或 有一个1取1 1001|0101 1101
- ^按位异或 不同为1,相同为0 1001^0101 1100
- -取反 -(1001) 0110
- <<左移 1001<<2 100100 ( >> 右移 1001>>2 10)
左右移,详情请看
链接: https://blog.csdn.net/weixin_49149614/article/details/107531270.
逻辑运算符
- !取反 !a a表达式为true,则结果为false
- &&逻辑与 a&&b a,b都是表达式 布尔类型值 a,b相同为true,否则为false
a&&b a为false则不会执行b表达式 - | |:逻辑或 a| |b a,b表达式只要其中一个为true,则为true,否则为false
a为true,则不执行b表达式
三元运算符
例:a>b?c:d
如果a>b为true,则值为c,否则为d
键盘扫描对象
import java.util.Scanner;//导包
Scanner sc=new Scanner(System.in);
- 数字输入:nextInt()、nextDouble()
- 字符串输入:nextLine()
注意:从数字切换到字符串的输入需要加入的一行代码:sc.nextLine();
字符串比较:s1.equals(s2) 字符串值是否相等
控制语句
条件语句
- if(){}
- if(){}else{}
循环语句
- for(起始值;范围;增量){} 例:for(int i=0;i<=10;i++){}
- while(boolean){} int i=1;while(i<=10){i++}
- do{}while(boolean){} 例:int i=1;do{i++;}while(i<10);至少被执行一次
分支语句
switch(整数|字符|字符串){case 1:break;case 2:break;default:break;}
关键字
- return 跳出函数,结束函数的执行
- break 跳出该循环或者该分支
- continue 结束本次循环,执行下一次循环
静态方法可以直接调用实例方法吗?
静态方法不能直接调用实例方法和变量,但可以间接调用(即在静态方法中创建类的实例,然后调用