JAVA开始(基础篇)
数据类型
Boolean 1位
Byte 1个字节(8位)
Short 2个字节
Char 2个字节
Int 4个字节
Long 8个字节
默认类型
默认使用的是double和int,如果要使用float或者long需要在其数字后面加上F或者L
float ff=3.28F;
long lo=2000000000000000L;
Char为什么是两个字节
因为在C中char是ascll的字符集,最大为255,而java的char是Unicode的字符集,最大为65535,其容纳了各国的字符。
所以C中不可以使用汉字作为变量名,而java则可以
char ch1=1000;
char ch2='A';
char ch3='东';
char ch4='\r';
布尔类型
Boolean类型只占有一位,其并不像C语言可以实现非零即真,其值必须为true或者flase
boolean b1=100;//报错
boolean b2=true;
类型自动转换
小类型会自动转换为大类型
Byte->short->int->long->float->double
量与运算
变量与常量
类变量:变量会自动赋有初值零,归属于类对象,使用必须通过类对象
类静态变量:变量会自动赋有初值零,归属于类,最好使用类名调用
局部变量:局部变量无初值,必须手动赋值后才可以使用
常量:值不可变的量(final int II=10;)
作用域
局部变量的作用域为{ }
三目运算
int ii=3>8?1:2;//输出2
Switch()…case
其值可以是数字、字符、字符串,之前是不可以使用字符串的,但在JDK1.7即之后将可以使用字符串
位运算或逻辑运算
位运算:【&】、【|】、【~】、【^】(按位异或,相同返回0,不同返回1)
逻辑运算:【&】、【&&】、【|】、【||】、【!】
图片来源于尚学堂
例:
“~”和“!”的区别:
1.“~”二进制的按位去反,1为(0000 0001)2,~1=1111 1110
2.“!”逻辑取反,非0为真,0为假
数学运算
随机数
Double d=Math.random();//返回区间 [0,1)
指数运算
public static double pow(double a, double b)
System.out.println(Math.pow(2, 3));//输出:8.0
平方根
public static double sqrt(double a)
System.out.println(Math.sqrt(9));//输出:3.0
控制台输入
next() 接收一个字符串,空格或回车结束
nextLine() 接收一个字符串,回车结束
nextInt() 接收一个int类型数据
nextDouble() 接收一个double类型数据
nextBoolean() 接收一个boolean类型数据
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);//得到输入对象
String name=sc.nextLine();//获取一行字符串
int i=sc.nextInt();//获取数字
System.out.println("name="+name+" i="+i);//输出
}
}
转义字符的输出
【\】、【”】、【”】、【\n】
System.out.println("\\n");//输出:\n
异常检测
异常语句块
try {
//待检测异常语句 }catch(Exception e) {
//出现异常后的处理语句 }finally {
//必须会执行的语句
}
抛出异常
public class Main{
public static void main(String[] args) { //调用函数时必须检测异常
try {
tt();
} catch (Exception e) {
System.out.println("----调用函数被抛出异常----");
e.printStackTrace();
}
}
//抛出异常
public static void tt() throws Exception{
int x=6/0;
}
}
JAVA环境
1、由图可知,三者为包含关系,JDK包含JRE,JRE包含JVM;
2、开发Java程序时必须要安装JDK
3、运行Java程序时有JRE就好了
4、JVM时虚拟机,JVM对应每个系统的虚拟机由官方提供,所以开发Java程序时可以不考虑每个平台的差异性,可以实现一处编程处处使用的效果。
5、JDK下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html
命令行的第一个java程序
代码:
随意新建一个目录Myjava,里面新建一个文件Dong.java
public class Dong{
public static void main(String[] args){
System.out.println("DongXiaoDong");//输出
}
}
进入目录
cd /d E:\Myjava
编译
编译后会出现同名的.class文件,此文件为虚拟机解释文件
javac Dong.java
执行
java Dong
运行结果
出现错误时:
编辑工具下载与安装
下载
官网下载
https://www.eclipse.org/downloads/
本文使用:
链接:https://pan.baidu.com/s/10ZDqTZbhnQy6sGnYmw0_tw
提取码:sxz2
安装
选择工作空间
工作空间是存放工程的地方,可以勾选下面的记住此次选择
新建工程
新建类
JAVA开始(基础篇)的更多相关文章
- 你所不知道的库存超限做法 服务器一般达到多少qps比较好[转] JAVA格物致知基础篇:你所不知道的返回码 深入了解EntityFramework Core 2.1延迟加载(Lazy Loading) EntityFramework 6.x和EntityFramework Core关系映射中导航属性必须是public? 藏在正则表达式里的陷阱 两道面试题,带你解析Java类加载机制
你所不知道的库存超限做法 在互联网企业中,限购的做法,多种多样,有的别出心裁,有的因循守旧,但是种种做法皆想达到的目的,无外乎几种,商品卖的完,系统抗的住,库存不超限.虽然短短数语,却有着说不完,道不 ...
- java 线程基础篇,看这一篇就够了。
前言: Java三大基础框架:集合,线程,io基本是开发必用,面试必问的核心内容,今天我们讲讲线程. 想要把线程理解透彻,这需要具备很多方面的知识和经验,本篇主要是关于线程基础包括线程状态和常用方法. ...
- JDBC-使用Java连接数据库-基础篇
这是小主第一次写Java连接数据库博客,初学Java之时,Java连接数据库是我最头疼的,不过经过一个月的学习,也差不多略有收获,所以给大家分享一下. Java连接数据库大约需要五大步骤: 创建数据库 ...
- Java编程基础篇第一章
计算机语言 人与计算机交流的方式. 计算机语言有很多种如:C语言,c++,Java等 人机交互 软件的出现实现了人与计算机之间的更好的交流(交互) 交互方式 图形化界面:便于交互,容易操作,简单直观, ...
- java面试基础篇(三)
1.Q:ArrayList 和 LinkedList 有什么区别? A:ArrayList查询快!LinkedList增删快.ArrayList是基于索引的数据接口,它的底层是数组.空间占用相对小一些 ...
- java面试基础篇(二)
上一篇,我们说了一下线程和Map,或许那些太抽象,不太好理解,也不太方便记忆,我们这次说一些简单的. 1.Q:java的基本数据类型有哪些? A:四种整数类型(byte.short.int.long) ...
- 新年在家学java之基础篇-高级类的特性
继承 extends 子类的共性代码都是继承自父类的,每个子类只要写自己特有的代码 class 子类 extends 父类 继承提高了代码的复用性,提供了多态的前提,但是不要为了某个功能去继承 子类不 ...
- 新年在家学java之基础篇--循环&数组
因为“野味肺炎”的肆虐,过年被迫宅家只能吃了睡.睡了吃.这么下次只能长膘脑子空空,不如趁此机会重新学习java基础,为日后做铺垫~ 循环结构: 几种循环:for(::),while(){},do{}w ...
- JAVA格物致知基础篇:用JAX-RS和Jersey打造RESTful Service
随着服务器的处理能力越来越强,业务需求量的不断累积,越来越多的公司开始从单一服务器,单一业务承载变成了多服务器,多业务承载的快速扩展的过程中.传统的方法很难满足和应付这种业务量的增长和部署方式的改变. ...
- java 开发基础篇1环境安装--eclipse安装教程
如何安装java环境 http://jingyan.baidu.com/article/a24b33cd59b58e19fe002bb9.html JDK download http://www.or ...
随机推荐
- NumPy基础操作
NumPy基础操作(1) (注:记得在文件开头导入import numpy as np) 目录: 数组的创建 强制类型转换与切片 布尔型索引 结语 数组的创建 相关函数 np.array(), np. ...
- vue的懒加载如何实现?
个人通过查找发现一个比较好用的模块,vue-lazyload 第一步 下载安装这个包 npm install vue-lazyload 第二步 在main.js中引入这个模块 import Vu ...
- 思维导图xmind的使用方法
什么是Xmind Xmind是一款简单好用的思维导图软件,除了可以轻松绘制基本逻辑图,还支持组织结构图(竖直).树状图(水平+竖直).思维导图(辐射).鱼骨图.二维图(表格)模型.免费版可以把思维导图 ...
- 多线程与高并发(四)volatile关键字
上一篇学习了synchronized的关键字,synchronized是阻塞式同步,在线程竞争激烈的情况下会升级为重量级锁,而volatile是一个轻量级的同步机制. 前面学习了Java的内存模型,知 ...
- 数字IC前后端设计中的时序收敛(六)--Max Fanout违反
本文转自:自己的微信公众号<数字集成电路设计及EDA教程>(二维码见博文底部) 里面主要讲解数字IC前端.后端.DFT.低功耗设计以及验证等相关知识,并且讲解了其中用到的各种EDA工具的教 ...
- WPF 入门笔记之布局
一.布局原则: 1. 不应显示的设定元素的尺寸,反而元素可以改变它的尺寸,并适应它们的内容 2. 不应使用平布的坐标,指定元素的位置. 3. 布局容器和它的子元素是共享可以使用的空间 4. 可以嵌套的 ...
- Java面试题汇总---基础版(附答案)
基于我个人对面试的认知和招聘经验,在此我总结一下Java开发者的基础知识掌握要求,及应聘者面试的需要准备的内容. 首先,Java基础是每个面试官都会问到的,可能只是针对工作经验的多少,对问题追踪深度有 ...
- MyBatis从入门到精通:insert用法
2.4.1 简单的insert方法 1.接口类中的方法: int insert(SysUser sysUser); 2.映射文件中的修改: <!-- insert标签包含如下的属性: id: p ...
- 【分治】黑白棋子的移动-C++
题目描述 有2n个棋子(n≥4)排成一行,开始为位置白子全部在左边,黑子全部在右边,如下图为n=5的情况: ○○○○○●●●●● 移动棋子的规则是:每次必须同时移动相邻的两个棋子,颜色不限,可以左移也 ...
- CF1027D Mouse Hunt题解
题目: 伯兰州立大学的医学部刚刚结束了招生活动.和以往一样,约80%的申请人都是女生并且她们中的大多数人将在未来4年(真希望如此)住在大学宿舍里. 宿舍楼里有nn个房间和一只老鼠!女孩们决定在一些房间 ...