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 ...
随机推荐
- hdu5289 Assignment
Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Submission ...
- 轻松理解 Java开发中的依赖注入(DI)和控制反转(IOC)
前言 关于这个话题, 网上有很多文章,这里, 我希望通过最简单的话语与大家分享. 依赖注入和控制反转两个概念让很多初学这迷惑, 觉得玄之又玄,高深莫测. 这里想先说明两点: 依赖注入和控制反转不是高级 ...
- MySQL——时间、字符串、时间戳相互转换
一.时间转字符串 select data_format(now(),'%Y-%m-%d %H:%i:%s'); 二.时间转时间戳 select unix_timestamp(now()); 三.字符串 ...
- Linux自带神器logrotate详解
Linux自带神器logrotate详解 散尽浮华 运维 3天前 作者:散尽浮华 链接:https://www.cnblogs.com/kevingrace/p/6307298.html 对于 L ...
- 2018ACM上海大都会赛 F Color it【基础的扫描线】
题目:戳这里 题意:有n*m个点全为白色,q个圆,将q个圆内所有的点都染成黑色,问最后剩下多少白色的点. 解题思路:每一行当做一个扫描线,扫描所有的圆,记录每一行在圆中的点即可,O(n*q). 附ac ...
- H.264视频压缩标准
H.264 这部分一直在讲,但是却没有系统的来说.接下来要详细. 参看:H.264视频压缩标准 一.简介 H.264是最新的视频压缩标准,它也称为MPEG-4 Part 10或AVC(高级视频编码). ...
- 全局ID生成--雪花算法改进版
存在的问题 时间回拨问题:由于机器的时间是动态的调整的,有可能会出现时间跑到之前几毫秒,如果这个时候获取到了这种时间,则会出现数据重复 机器id分配及回收问题:目前机器id需要每台机器不一样,这样的方 ...
- cobaltstrike的使用
0x01 介绍 Cobalt Strike是一款渗透测试神器,常被业界人称为CS神器.Cobalt Strike已经不再使用MSF而是作为单独的平台使用,它分为客户端与服务端,服务端是一个,客户端可以 ...
- Python对excel的基本操作
Python对excel的基本操作 目录 1. 前言 2. 实验环境 3. 基本操作 3.1 安装openpyxl第三方库 3.2 新建工作簿 3.2.1 新创建工作簿 3.2.2 缺省工作表 3.2 ...
- flex 布局占位符
flex 布局占位符 空 span bug .popover-custom-class .system-guide-container .buttons-box { display: flex; fl ...