零基础入门学习Java课堂笔记 ——day01
Java语法
1.注释、标识符、关键字
注释
不会被程序执行的代码或者块
//双斜杠表示单行注释
/*表示多行注释*/
标识符、关键字
关键词系统事先定义好的,我们能直接拿来用的,不能作为变量名使用
所有的标识符只能以字母、美元符号、下划线开始
首字母后可以以字母、美元符号、下划线或者数字组合
不能使用关键字作为标识符,标识符区分大小写
可以使用中文作为标识符(不推荐)
2.数据类型
Java是一门强类型语言:要求变量的使用严格符合规定,所有话能量要先定义后才能使用
Java两大数据类型
- 基本数据类型
- 引用数据类型
public class Demo{
public static void main(String[] args){
//基本数据类型的表示
int num1 = 10; //最常用的int
byte num2 = 20; //字节类型
short num3 = 30; //短整数类型
long num4 = 60L; //长整数类型 末尾L表示
float num5 = 50.1F //浮点数float后面+f
double num6 = 3.1415926535//浮点数类型
char word = 'H' //char类型表示一个字符 一个!
boolean t = true; //true or flase
}
}
3.基本类型拓展
public class demo{
public static void main(String[] args){
//整数
int i_10 = 10; //表示十进制数的10
int i_8 = 010; //表示八进制数的10
int i_16 = 0x10 //表示是十六进制数的10
//字符 字符本质还是数字 (int)可以强制转换为其对应的数字,其数字是对于的ASCLL码
char a = 'n';
char b = '你';
System.out.println(a);
System.out.println((int)a);
System.out.println(b);
System.out.println((int)b);
//布尔值
boolean flag = true;
if(flag){} = if(flag == true){}
}
}
4.类型转换
在Java运算中,不同类型的数据要先转化为同一数据类型,然后就行运算
原则上转换规则如下:
- 强制类型转换(高到低)
- 自动类型转换(低到高)
public class demo{
public static void main(String[] args){
int i = 128;
byte b = (int)i; //强制类型转换 内存溢出
System.out.println(b); //-1
}
}
注意点
1.不能对boolean类型转换
2.不能把对象类型转换为不相干的类型
3.转换会造成精度损失
拓展:数字之间可以用下划线分割
int money = 100_0000_0000;
5.变量
数据类型 变量名 = 值;
type varName [=value] [{,varName[=value]}];
变量作用域
类变量
被static修饰 可以在其他方法内部直接使用
实例变量
与类绑定,调用前必须先new类的对象
局部变量
在方法内部定义,仅限于方法内部使用
public class Demo{
//类变量 static
static double salary = 2500.0;
//属性:实例变量 不初始化会编程默认值
//所有数值都是0或0.0 bool默认是false
//除了基本类型都是NULL
int i = 10;
public static void main(String[] args){
System.out.println(salary);
int i = 10; //属性:局部变量
}
//其他方法
public void other(){
Demo d = new Demo();//使用实例对象
System.out.println(d.i);
}
}
常量
一旦被定义就不能被改变的称之为常量,常量必须初始化!
final PI = 3.1415926; //常量一般使用大写字母表示
6.基本运算符 operator
public class demo{
public static void main(String[] args){
int a = 10; //赋值运算符
int b = 20;
System.out.println(a+b); //30
System.out.println(a-b); //-10
System.out.println(a*b); //200
System.out.println(a/(double)b); //0.5
System.out.println(a%b); //0
System.out.println(a<b); //true
System.out.println(a>b); //false
System.out.println(a==b); //false
System.out.println(a!=b); //true
int c = a++;
int d = ++a;
System.out.println(c); //10
System.out.println(d); //12
System.out.println(a); //12
//拓展:幂运算
double pow = Math.pow(2,3)//2*2*2;
System.out.println(pow); //8
}
}
如果运算过程中有long类型的话那么结果都为long反之所有结果都为int
(cast 转换)
逻辑运算符
与(and) &&
两个运算符都为真时返回真 【运算符相乘】
或(or) ||
两个运算符其中一个为真返回真【运算符相加】
非(nor) !
单个运算符取相反的结果【运算符取反】
public class demo{
public static void main(String[] args){
int a = true;
int b = false;
System.out.println(a&&b);//false
System.out.println(a||b);//true
System.out.println(!a);//false
}
}
短路运算
与运算时如果第一个操作数为假那么直接返回假 不会计算第二操作数
或运算时如果第一个操作数为真那么直接返回真 不会计算第二操作数
public class demo{
public static void main(String[] args){
int c = 5;
boolean d = (c<4)&&(c++<4);
System.out.println(d);//false
System.out.println(c);//5
boolean d = (c>4)||(c++<4);
System.out.println(d);//true
System.out.println(c);//5
}
}
位运算
&:位相乘结果
|:位相加结果
^:位是否相同 相同得1 反之得0
~:是1得0 是0得1
<<、>>:左移、右移运算符
public class demo{
public static void main(String[] args){
/*
0000 0000 0
0000 0001 2 2<<0
0000 0010 4 2<<1
0000 0100 8 2<<2
0000 1000 16 2<<3
*/
System.out.println(2<<0);//0
System.out.println(2<<3);
}
}
效率高!!!!
条件运算符
x ? y : z
如果x为真返回y反之返回z
public class demo{
public static void main(String[] args){
int y = 10;
int z = 20;
int x = (y==10)?y:z;
System.out.println(x); //10
}
}
运算符优先级
7.包机制
类===>文件
包===>文件夹
一般包以公司域名导致规则
例如:www.baidu.com 倒置后 com.baidu.www
在IDEA创建包时可以输入com.baidu.www会自动创建各个层级包
在Java代码中可以使用package来关联包名
package com.baidu.www; //导入本类包
import java.util.Data; //导入外类包
package必须在import上面
8. Java Doc
/**
* @Description 这是文档注释
* @Author StarVik
*/
在控制台编译Doc注释信息为一个文档
javadoc -encoding UTF-8 charset UTF-8 demo.java
课程来源:B站 遇见狂神说
零基础入门学习Java课堂笔记 ——day01的更多相关文章
- 学习参考《零基础入门学习Python》电子书PDF+笔记+课后题及答案
国内编写的关于python入门的书,初学者可以看看. 参考: <零基础入门学习Python>电子书PDF+笔记+课后题及答案 Python3入门必备; 小甲鱼手把手教授Python; 包含 ...
- 学习《零基础入门学习Python》电子书PDF+笔记+课后题及答案
初学python入门建议学习<零基础入门学习Python>.适合新手入门,很简单很易懂.前一半将语法,后一半讲了实际的应用. Python3入门必备,小甲鱼手把手教授Python,包含电子 ...
- 《零基础入门学习Python》【第一版】视频课后答案第001讲
测试题答案: 0. Python 是什么类型的语言? Python是脚本语言 脚本语言(Scripting language)是电脑编程语言,因此也能让开发者藉以编写出让电脑听命行事的程序.以简单的方 ...
- 零基础入门学习Python(1)--我和Python的第一次亲密接触
前言 最近在学习Python编程语言,于是乎就在网上找资源.其中小甲鱼<零基础入门学习Python>试听了几节课,感觉还挺不错,里面的视频都是免费下载,小甲鱼讲话也挺幽默风趣的,所以呢,就 ...
- 093 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 03 static关键字(下)
093 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...
- 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 02 封装的代码实现
088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 02 封装的代码实现 本文知识点:Java封装的代码实现 说明:因为时间紧张,本人写博客过程中只 ...
- 080 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 05 单一职责原则
080 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 05 单一职责原则 本文知识点:单一职责原则 说明:因为时间紧张,本人写博客过程中只是 ...
- 057 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 04 案例:求整型数组的数组元素的元素值累加和
057 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 04 案例:求整型数组的数组元素的元素值累加和 本文知识点:求整型数组的数组元素的元素值累加和 案例:求整型数 ...
- 056 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 03 一维数组的应用
056 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 03 一维数组的应用 本文知识点:数组的实际应用 程序开发中如何应用数组? 程序代码及其运行结果: 不同数据类 ...
- 055 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 02 数组的概念
055 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 02 数组的概念 本文知识点:数组的概念 数组的声明创建.初始化 在学习数组的声明创建.初始化前,我们可以和之 ...
随机推荐
- 一、docker入门(概念)
系列导航 一.docker入门(概念) 二.docker的安装和镜像管理 三.docker容器的常用命令 四.容器的网络访问 五.容器端口转发 六.docker数据卷 七.手动制作docker镜像 八 ...
- 《深入理解计算机系统》(CSAPP)读书笔记 —— 第七章 链接
链接( Clinking)是将各种代码和数据片段收集并组合成为一个单一文件的过程,这个文件可被加载(复制)到内存并执行.链接可以执行于编译时( compile time),也就是在源代码被翻译成机器代 ...
- vue动态组件使用
- 【scikit-learn基础】--『监督学习』之 空间聚类
空间聚类算法是数据挖掘和机器学习领域中的一种重要技术. 本篇介绍的基于密度的空间聚类算法的概念可以追溯到1990年代初期.随着数据量的增长和数据维度的增加,基于密度的算法逐渐引起了研究者的关注.其中, ...
- spring IoC 源码
spring IoC 容器的加载过程 1.实例化容器: AnnotationConfigApplicationContext 实例化工厂: DefauiltListableBeanFactory 实例 ...
- 使用华为路由连接WiFi,被限制网速?
1.问题 使用华为路由连接WiFi,但是网速非常慢,经常半天才能加载一个界面? 2.解决方法 登陆http://192.168.3.1/网址,发现限速一栏被框选,取消即可
- Linux复习笔记
Linux复习笔记 常识说明 目录结构 Linux以树型结构管理文件,其最上层文件夹为 / ,也就是根目录. 如图所示,图中展示了一部分文件夹的结构: 所有的文件夹都属于根目录的子文件夹. 安装好系统 ...
- [转帖]ssh_exporter
https://github.com/treydock/ssh_exporter SSH exporter The SSH exporter attempts to make an SSH conne ...
- [转帖]查看mysql分区名和各分区数据量
– 查看mysql分区名和各分区数据量 SELECT table_name, partition_name, table_rows FROM information_schema.PARTITIONS ...
- [转帖]TiUP 常见运维操作
https://docs.pingcap.com/zh/tidb/stable/maintain-tidb-using-tiup 本文介绍了使用 TiUP 运维 TiDB 集群的常见操作,包括查看集群 ...