零基础入门学习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 数组的概念 本文知识点:数组的概念 数组的声明创建.初始化 在学习数组的声明创建.初始化前,我们可以和之 ...
随机推荐
- warning: LF will be replaced by CRLF in public/tinymce/langs/zh_CN.js
windows使用git时出现:warning:LF will be replaced by CRLF windows中的换行符为 CRLF, 而在linux下的换行符为LF,所以在执行add . 时 ...
- OpenShift image registry 概述
0. 前言 docker 镜像管理之 overlay2 最佳实践 中介绍了 image 的底层逻辑联合文件系统和分层结构. image 存储在 registry 中,对于不同平台使用 registry ...
- 在线视频点播网站(python实现)
本文将会对该项目进行一个简单的介绍,包括项目名称.项目背景.项目功能.技术栈等等. 项目名称 在线视频点播网站开发(python+django) 项目背景 学习完毕python和django之后,想找 ...
- 有n个整数,使前面各数顺序向后m个位置,最后m个数变成最前面m个数,见图 8.43。写一函数实现以上功能在主函数中输入个整数和输出调整后的n个数。
4,有n个整数,使前面各数顺序向后m个位置,最后m个数变成最前面m个数,见图 8.43.写一函数实现以上功能在主函数中输入个整数和输出调整后的n个数. 我的代码: 1.使用双向链表 void Move ...
- java - 递归排序 - 求数组最小值
// 递归求数组最小值 public class Bubble { // 定义存储最小值的变量 static int min; public static void main(String[] arg ...
- HttpClient获取不到最新的系统代理
默认情况下,HttpClient是默认采用系统代理,但是,如果你在程序运行过程中,手动修改系统代理,对于HttpClient是无效的,它依然会用老的代理去访问. 解决方法 使用下面的代码,你可以自己实 ...
- Go-命令行参数解析
1. 解析命令行参数 程序在执行时,获取在命令行启动程序是使用的参数 命令行( Command line interface -- CLI):基于文本来查看.处理.操作计算机的界面,又被称为 终端.控 ...
- [转帖]prometheus的TCP alloc取值
prometheus的TCP alloc取值 sockets: used:已使用的所有协议套接字总量 TCP: orphan:无主(不属于任何进程)的TCP连接数(无用.待销毁的TCP socket数 ...
- 【转帖】Ethernet 与 Infiniband的网络特性对比
一.两者定位 以太网(Ethernet): 应用最广泛,是最成熟的网络互联技术,也是整个互联网络大厦的基石,兼容性非常好,可实现不同的系统之间的互连互通 IB(Infiniband): 领域很专,作为 ...
- [转帖]一行Python代码实现同一局域网内的文件共享
在不同的设备之间传输文件除了数据线,网盘传输外是否还有其他优雅的方法?我们可以使用一行Python代码使局域网内的所有设备都可以访问并下载文件夹内的文件. 要求: 电脑中安装配置好python 访问的 ...