java文件后缀为.java 编译后文件后缀为.class
public class a{
public static void main(String[] args){
System.out.println("Hello World");
//public 访问修饰符 代表该类是一个公开类
//static 静态 代表main函数是一个静态函数优先被加载
//void 代表main函数没有返回值
//main函数程序的入口函数,一个类只能有一个,不可在函数中定义函数
//String[] args 代表为main函数传递一个字符串数组参数 参数名args
//System 代表一个类 该类用final修饰不可被继承
/*out 代表一个属性 final static PrintStream out
该属性final修饰,只能赋值一次*/
//println() printStream对象中的一个方法该方法有多种重载可以输出对象和字符串等等
}
}
javac - . a.java java a
注意:
文件名和类名相同
尽量用中文
编译型 -->c c++
解释性 --> 网页 javaScript python
先解释后编译 -->java
IDE:集成开发环境 简化开发
idea官网:https://www.jetbrains.com/
#### 注释
当代码很多时注释很重要
注释并不会被执行,是写给写代码的人看的
单行注释://注释内容
多行注释:/*注释
内容*/
文档注释 /**
*/
例如:
//1.单行注释
?
/*2.多行注释
idea中快捷键ctrl+shift+/
*/
?
/**
*3.文档注释
*/
变量名只能以字母下划线和$开头
String adc="王";
String _adc="王";
String $adc="王";
//以上正确
String 1adc="王";//错误
String #adc="王";//错误
//中文也可以但是不建议
String 王者荣耀="最强王者"; //正确
八种基本类型: byte 1个字节 -127 -128 默认值 0 short 2个字节 -32767-32768 默认值 0 整数 int 4个字节 默认值 0 long 8个字节 默认值 0 数值型 小数 float 4个字节 默认值 0.0 double 8个字节 默认值 0.0 字符型 char 2个字节 默认值 空 布尔 Boolean 1个位 默认值 false 引用类型 String 默认值 null 引用类型 类、接口、数组 整数拓展: 进制 二进制0b 十进制 八进制0 十六进制0x 010 0x10 浮点数拓展: //float //double
float d1=235464648646;
float d2=d1+1;
System.out.println(d1==d2);//true
//精度消失
所以不能用浮点数进行比较
字符拓展:所有的字符本质还是数字 ASCLL码
转义字符: \t 制表符 \n 换行 等等等
Boolean值拓展:
boolean flag=true;
if(flag==true){}//新手
if(flag){} //老手
//两种用法相同
类型转换
自动转换: 从小到大 从整数到小数
强制转换:从高类型转换到低类型 容易失去精度(内存溢出)
注意点:
不能对布尔值进行转换
不能把对象类型转换为不相干的类型
把高容量转换为低容量类型的时候,强制转换
转换的时候可能存在内存溢出,或者精度问题
int a=128;
byte b=(byte)a;
System.out.println(b);//-128 内存溢出
jdk 1.7 之后数字之间可以用_分割
int a=1_000;
System.out.println(a);//1000
存放在内存中
变量的定义
先声明后赋值
int a;
a=10;
声明并赋值
int a=10;
变量的分类
局部变量:方法以内,仅限于本方法使用
成员变量:类以内方法以外
定义:特殊的变量,定义常量需要用final关键字
定义一个常量:
final double SALARY=1000D;
要求所有命名要见名知意
常量: 全大写
类名:首单词字母大写单词拼接时其他单词首字母大写
变量:首单词字母小写单词拼接时其他单词首字母大写
借用java自带的工具类Math
方法名 | 作用 |
---|---|
Math.abs(-5); | 取绝对值 |
Math.pwd(2,3); | 求2的3次幂 |
....... | ...... |
&&与(采取短路运算前面错不会继续计算后面的) ||或 !非
A= 0011 1100
B= 0000 1101
A&B =0000 1100
A|B = 0011 1101
A`B=0011 0001
~B =1111 0010
<< 左移一位乘于二 >> 右移一位除以二
面试题:任何数和字符串相加都为字符串
int a=10;
int b=20;
System.out.println(" "+a+b);//1020
System.out.println(a+b+" ");//30
//第一个为先与字符串拼接成为字符串
//第二个先运算再与字符串拼接成字符串
三元运算符
Boolean表达式?a:b boolean为真结果为a否则为假
Java中为了更好的组织类提供了包机制类似于文件夹(命名采用域名倒置)
例:www.baidu.com --> com.baidu.www
/**
*@author 作者名
*@version 版本号
*@since 指明最早使用的jdk版本
*@param 参数名
*@return 返回值情况
*@throws 异常抛出情况
*/
使用javaDoc注释后可以使用命令行生成对应Api
命令:
javadoc -encoding UTF-8 -charset UTF8 doc.java
在.Java文件路径使用cmd
Scanner s=new Scanner(System.in);
//Scanner java众多的工具类在java的util包中
//System.in 指代System最终类中的in属性指代输入流InputStream所以需要关流
Scanner中的方法 | 含义 |
---|---|
Scanner.next(); | 接收字符串 |
Scanner.nextInt(); | 接收整数 |
Scanner.nextByte(); | 接收整数 |
Scanner.nextDouble(); | 接收小数 |
Scanner.nextFloat(); | 接收小数 |
Scanner.nextShort(); | 接收整数 |
Scanner.nextLong(); | 接收整数 |
Scanner.nextChar(); | 接收字符 |
Scanner.nextBoolean(); | 接收布尔类型 |
Scanner.hasNext(); | 判断下面是否还有字符串(类型)空格结束 |
Scanner.hasNextline(); | 判断下面是否还有字符串(类型)回车结束 |
if循环
if(boolean){
}
if-else循环
if(boolean){
}else{
}
while循环
while(boolean){
}
switche-case 选择分支
switch(任意类型){
case 任意类型:业务代码; break;
case 任意类型:业务代码; break;
case 任意类型:业务代码; break;
case 任意类型:业务代码; break;
case 任意类型:业务代码; break;
case 任意类型:业务代码; break;
case 任意类型:业务代码; break;
default:任意类型:业务代码;
}
不加break,程序回从符合条件的选项开始执行直到程序结束。
while循环
while(boolean){
}
do...while循环
do{
}while(boolean);
for(int i=0;i<100;i++){
}
原文:https://www.cnblogs.com/WangJingjun/p/15102737.html