java 基础语法学习
注释
- 单行注释
- 多行注释
- 文档注释
public class HelloWorld {
public static void main(String[] args) {
//单行注释
//输出一个Hello World
System.out.println("hello,world!");
| | | |
| ---- | ---- | ---- |
| | | || | | |
| ---- | ---- | ---- |
| | | |
//多行注释 /* 注释 */
/*
我是多行注释
我是多行注释
我是多行注释
我是多行注释
我是多行注释
*/
//JavaDoc:文档注释
/**
* @Description HelloWorld
* @Author Chester
*/
//有趣的代码注释
///***********************************************
// * _ooOoo_ *
// * o8888888o *
// * 88" . "88 *
// * (| -_- |) *
// * O\ = /O *
// * ____/`---'\____ *
// * .' \\| |// `. *
// * / \\||| : |||// \ *
// * / _||||| -:- |||||- \ *
// * | | \\\ - * | | *
// * | \_| ''\---/'' | | *
// * \ .-\__ `-` ___/-. / *
// * ___`. .' /--.--\ `. . __ *
// * ."" '< `.___\_<|>_/___.' >'"". *
// * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
// * \ \ `-. \_ __\ /__ _/ .-` / / *
// *======`-.____`-.___\_____/___.-`____.-'======*
// * `=---=' *
// *^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
//
// 佛祖保佑 永无BUG
//
// 本程序已经经过开光处理,绝无可能再产生bug
// **********************************************/
}
}
标识符和关键字
关键字

Java所有的组成部分都需要名字。类名、变量名、以及方法名都被称为标识符

数据类型讲解

public class demo2 {
public static void main(String[] args) {
//八大基本数据类型
//整数
int num1=10;//最常用
byte num2=20;
short num3=30;
long num4=30L;//lang类型要在数字后面加个L
//小数:浮点数
float num5=50.1F;//float类型要在数字后面j加个F
double num6=3.1415926233;
//字符
char name='中';
//字符串,String不是关键字,是类
String namea="你好";
//布尔值:是非
boolean flag=true;
boolean flag1=false;
}
}

数据类型扩展及面试题讲解
import java.util.Arrays;
public class demo3 {
public static void main(String[] args) {
// 整数扩展 进制 二进制0b 十进制 八进制0 十六进制0x
int i=10;
int i1=010; // 八进制0
int i2=0x1A; // 十六进制0x 0~9 A~F16
System.out.println(i);
System.out.println(i1);
System.out.println(i2);
System.out.println("==================================================");
// 浮点数扩展? 银行业务怎么表示?钱
// BigDecimal 数学工具类
//float 有限 离散 舍入误差 大约 接近但不等于
//double
//最好完全避免使用浮点数进行比较
//最好完全避免使用浮点数进行比较
//最好完全避免使用浮点数进行比较
float f=0.1f;
double d=1.0/10;
System.out.println(f==d); // flase
float d1=123456754321234567f;
float d2=d1+1;
System.out.println(d1==d2); //true
System.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); //强制转换
//所有的字符本质还是数字
//编码 Unicode 表: (97=a 65=A) 2字节 0-65536 excel 2^16
//U0000 UFFFF
char c3='\u0061';
System.out.println(c3);
//转义字符 \t :制表符 \n :换行
System.out.println("==================================================");
String sa =new String("hello world");
String sb =new String("hello world");
System.out.println(sa==sb); //false
String sc ="hello world";
String sd ="hello world";
System.out.println(sc==sd); //true
//对象 从内存分析
//布尔值扩展
boolean flag=true;
if(flag){
}
//less is more ! 代码要精简易读
}
}
类型转换

public class demo4 {
public static void main(String[] args) {
int i=128;
byte b=(byte)i; //内存溢出
// 强制转换 高-》低
System.out.println(i); // 128
System.out.println(b); // -128
// 自动转换 低-》高
double c=i;
//操作比较大的数的时候,注意溢出问题
//jdk7新特性,数字之间可以用下划线分割
int money =10_0000_0000;
int years=20;
System.out.println(money*years); // -1474836480
long total =money*years;
System.out.println(total); //-1474836480
// 计算结果默认是int,转换之前已经存在问题了
total =money*(long)(years); //先把一个数转换成Long
System.out.println(total); // 20000000000
/*
注意点:
1. 不能对布尔值进行转换
2. 不能把对象类型转换为不相干的类型
3. 在把高容量转换到低容量的时候,强制转换
4. 转换的时候可能存在内存溢出,或者精度问题
*/
}
}
变量、常量、作用域



public class Demo5 {
//属性:变量
// 实例变量:从属于对象;如果不自行初始化,这个类型的默认值 0 0.0 u0000
// 布尔值:默认是false
//除了基本类型,其余的n默认值都是null
// 类变量 static
static double salary =2500;
// 常量 final
//修饰符,不存在先后顺序
public static final double PI=3.14;
String name;
int age;
// main方法
public static void main(String[] args) {
// 局部变量:必须声明和初始化值
int a;
int b;
int c;
String name="sada";
char x='X';
double pi=3.14;
// 变量类型
Demo5 dm5=new Demo5();
System.out.println(dm5.age); // 0
System.out.println(dm5.name); // null
// 类变量 static
System.out.println(salary);
//常量 final
System.out.println(PI);
}
//其他方法
public void add(){
}
}
基本运算符

位运算
public class Demo1 {
public static void main(String[] args) {
/*
A= 0011 1100
B= 0000 1101
A&B 0000 1100
A|B 0011 1101
A^B 0011 0001 // 亦或:相同为0,不同为1
~B 1111 0010
2*8=16 2*2*2*2
效率极高
<< //左移 *2
>> /右移 /2
0000 0000 0
0000 0001 1
0000 0010 2
0000 0011 3
0000 0100 4
0000 1000 8
0001 0000 16
*/
System.out.println(2<<3);
}
}
一个关于string 与 int “+”运算的面试题
public class Demo2 {
public static void main(String[] args) {
int a=10;
int b=20;
//字符串连接符 + ,string
System.out.println(""+a+b); // 1020
System.out.println(a+b+""); // 30
}
}
包机制

JavaDoc生成文档

通过IDEA生成:
/**
* @author ZJ
* @version 1.0
* @since 1.8
*/
public class Doc {
String name;
/**
* @author ZJ
* @param name
* @return
* @throws Exception
*/
public String test(String name)throws Exception{
return name;
}
}


- 选择是整个项目还是模块还是单个文件
- 文档输出路径
- Locale 选择地区,这个决定了文档的语言,中文就是zh_CN
- 传入JavaDoc的参数,一般这样写 -encoding UTF-8 -charset UTF-8 -windowtitle “文档HTML页面标签的标题” -link http://docs.Oracle.com/javase/7/docs/api
通过命令行生成:

java 基础语法学习的更多相关文章
- Java基础语法学习
Java基础语法学习 1. 注释 单行注释: //单行注释 多行注释: /*多行注释 多行注释 多行注释 多行注释 */ 2. 关键字与标识符 关键字: Java所有的组成部分都需要名字.类名.变量名 ...
- java 基础语法学习01
Java基础语法 注释 初次使用idea时相关配置 new project ->Empty project->进入页面 再选择file->project structure-> ...
- java基础语法学习DayOne
一.关键字 1.概述:被java语言赋予特定含义的单词 2.特点:组成关键字的字母全部为小写 二.标识符 1.概述:给类.接口.方法.变量起名字时使用的字符序列 2.规则:只能使用英文大小写字母.数字 ...
- Java基础语法学习知识
基础概念 标识符1.由字母,数字,下划线,美元符组成2.首字母不能是数字3.不能是关键字和保留字4.能反映其作用 关键字1.有特定含义2.用于特定地方3.用来命名标识符 常量1.程序执行时值不变的量2 ...
- Java基础语法学习(1)switch...case
switch...case的标准语法 switch(待选择的变量) { case 值1:语句1; break; case 值2:语句2: break; ....... case 值n:语句n; bre ...
- JavaSE入门学习7:Java基础语法之语句(下)
继续接着Java基础语法来:JavaSE入门学习5:Java基础语法(一)和JavaSE入门学习6:Java基础语法(二). 语句 Java经常使用的3种循环:while.do...while,for ...
- JavaSE入门学习6:Java基础语法之运算符和语句(上)
继续接着上篇:JavaSE入门学习5:Java基础语法(一)来看Java的基础语法. 五运算符 运算符是一种"功能"符号,用以通知Java进行相关的运算.比方.我们须要将变量age ...
- JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)
Java基础语法(变量.常量.数据类型.运算符与数据类型转换) 1.变量 Java中.用户能够通过指定数据类型和标识符来声明变量.其基本的语法为: DataType identifier; 或 Dat ...
- Java基础知识学习(一)
部门接了新项目,后台使用Java框架play framework,前端是html,前后台通过rest交互,能够支持多端的互联网架构. 因为之前没有Java基础,前端使用的也很少,决定深入学习一下Jav ...
随机推荐
- hdu 6822 Paperfolding 规律+排列组合+逆元
题意: 给你一片纸,你可以对它进行四种操作,分别是向上.向下.向左.向右对折.把对折之后的纸片横向剪开,再纵向剪开(十字架剪开) 问你你能剪出来的纸片的期望个数 题解(参考:https://blog. ...
- 【论文笔记】AutoML for MCA on Mobile Devices——论文解读与代码解析
理论部分 方法介绍 本节将详细介绍AMC的算法流程.AMC旨在自动地找出每层的冗余参数. AMC训练一个强化学习的策略,对每个卷积层会给出其action(即压缩率),然后根据压缩率进行裁枝.裁枝后,A ...
- 鸟哥的linux私房菜——第五章学习(Linux的文件权限与目录配置)
******************第五章学习****************** 1.[重要的三个概念] 1).文件拥有者(使用者):User,该文件/文件夹只能我来读写: 2).群组:Group, ...
- git命令简写配置
在使用git工具时,有些命令比较常用,为了加快输入速度,可以自定义一些简写配置,如下所示: git st # git status git ci # git commit git br # git b ...
- C# wpf window
使用vs2017 新建wpf 项目 MainWindow 被定义为partial,是因为他要和xaml的一些属性组合在一起,然后再运行起来,这正是 InitailizeCompoent 这个函数要干的 ...
- ewebeditor 路径
1.关键文件的名称和路径Admin_Login.asp 登录页面Admin_Default.asp 管理首页Admin_Style.aspAdmin_UploadFile.aspUpload.aspA ...
- 007.NET5 Log4Net组件使用
NET 5 Log4Net组件使用 1. Nuget引入程序集:log4net + Microsfot.Extensions.Logging.Log4Net.AspNetCore 2. 准备配置文件 ...
- javascript questions & code review
javascript questions & code review refs https://github.com/learning-js-by-reading-source-codes/j ...
- macOS 没有鼠标 怎么使用 快捷键
macOS 没有鼠标 怎么使用 快捷键 mini 链接蓝牙鼠标 菜单选择 光标聚焦 上下选择 确认,选中 用键盘浏览菜单 若要使用这些快捷键,请先按下 Control-F2 或 Fn-Control- ...
- JS Object Deep Copy & 深拷贝 & 浅拷贝
JS Object Deep Copy & 深拷贝 & 浅拷贝 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Refe ...