数据类型

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开始(基础篇)的更多相关文章

  1. 你所不知道的库存超限做法 服务器一般达到多少qps比较好[转] JAVA格物致知基础篇:你所不知道的返回码 深入了解EntityFramework Core 2.1延迟加载(Lazy Loading) EntityFramework 6.x和EntityFramework Core关系映射中导航属性必须是public? 藏在正则表达式里的陷阱 两道面试题,带你解析Java类加载机制

    你所不知道的库存超限做法 在互联网企业中,限购的做法,多种多样,有的别出心裁,有的因循守旧,但是种种做法皆想达到的目的,无外乎几种,商品卖的完,系统抗的住,库存不超限.虽然短短数语,却有着说不完,道不 ...

  2. java 线程基础篇,看这一篇就够了。

    前言: Java三大基础框架:集合,线程,io基本是开发必用,面试必问的核心内容,今天我们讲讲线程. 想要把线程理解透彻,这需要具备很多方面的知识和经验,本篇主要是关于线程基础包括线程状态和常用方法. ...

  3. JDBC-使用Java连接数据库-基础篇

    这是小主第一次写Java连接数据库博客,初学Java之时,Java连接数据库是我最头疼的,不过经过一个月的学习,也差不多略有收获,所以给大家分享一下. Java连接数据库大约需要五大步骤: 创建数据库 ...

  4. Java编程基础篇第一章

    计算机语言 人与计算机交流的方式. 计算机语言有很多种如:C语言,c++,Java等 人机交互 软件的出现实现了人与计算机之间的更好的交流(交互) 交互方式 图形化界面:便于交互,容易操作,简单直观, ...

  5. java面试基础篇(三)

    1.Q:ArrayList 和 LinkedList 有什么区别? A:ArrayList查询快!LinkedList增删快.ArrayList是基于索引的数据接口,它的底层是数组.空间占用相对小一些 ...

  6. java面试基础篇(二)

    上一篇,我们说了一下线程和Map,或许那些太抽象,不太好理解,也不太方便记忆,我们这次说一些简单的. 1.Q:java的基本数据类型有哪些? A:四种整数类型(byte.short.int.long) ...

  7. 新年在家学java之基础篇-高级类的特性

    继承 extends 子类的共性代码都是继承自父类的,每个子类只要写自己特有的代码 class 子类 extends 父类 继承提高了代码的复用性,提供了多态的前提,但是不要为了某个功能去继承 子类不 ...

  8. 新年在家学java之基础篇--循环&数组

    因为“野味肺炎”的肆虐,过年被迫宅家只能吃了睡.睡了吃.这么下次只能长膘脑子空空,不如趁此机会重新学习java基础,为日后做铺垫~ 循环结构: 几种循环:for(::),while(){},do{}w ...

  9. JAVA格物致知基础篇:用JAX-RS和Jersey打造RESTful Service

    随着服务器的处理能力越来越强,业务需求量的不断累积,越来越多的公司开始从单一服务器,单一业务承载变成了多服务器,多业务承载的快速扩展的过程中.传统的方法很难满足和应付这种业务量的增长和部署方式的改变. ...

  10. java 开发基础篇1环境安装--eclipse安装教程

    如何安装java环境 http://jingyan.baidu.com/article/a24b33cd59b58e19fe002bb9.html JDK download http://www.or ...

随机推荐

  1. node.js + mssql 简易封装操作

    时间吧,总是这么凑巧,在我学习[node.js]还没几天,我的 Microsoft SQL Server Management Studio 18 就歇菜了,至于怎么歇菜的吧....它可能的意思就是想 ...

  2. CentOS 7 使用 HP 打印机

    通常 hp 打印机应该是直接就能用的,但 centos 7 就一直遇到 printing job stopped 的情况.查看 http://localhost:631/printers/ 并没什么用 ...

  3. python 基础学习笔记(1)

    声明:  本人是在校学生,自学python,也是刚刚开始学习,写博客纯属为了让自己整理知识点和关键内容,当然也希望可以通过我都博客来提醒一些零基础学习python的人们.若有什么不对,请大家及时指出, ...

  4. python面试题(-)可变数据类型与不可变数据类型

    python3中有六个标准的数据类型:number(数字型).string(字符串型).list(列表).type(元祖).dictionary(字典).set(集合),其中不可变类型三个:numbe ...

  5. BZOJ 1067:[SCOI2007]降雨量(RMQ+思维)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1067 题意:…… 思路:首先我们开一个数组记录年份,一个记录降雨量,因为年份是按升序排列的,所以我们 ...

  6. mongo创建集合

    查询 db.getCollection('tbTrade').find({strDealSN:'P2P0_153596710bb00010011ba47b342'}); 更新(第一个{}为条件) db ...

  7. windows切换mac遇到的问题

    1. 前端代码需要安装npm包 所以需要对整个文件夹都赋予管理员权限 2. 在npm i的时候如果权限不足 查看是哪一行调用了哪个文件夹,赋予权限 3. Dsp-fe 本地环境 除了需要配置host  ...

  8. OpenCV多版本切换和配置--opencv 安装与卸载、添加 opencv_contrib modules 以及 OpenCv 多版本切换

    1. 查看安装Opencv的版本.以及libs和cflags $ pkg-config --modversion opencv $ pkg-config --cflags opencv // 编译链接 ...

  9. spark 源码分析之十六 -- Spark内存存储剖析

    上篇spark 源码分析之十五 -- Spark内存管理剖析 讲解了Spark的内存管理机制,主要是MemoryManager的内容.跟Spark的内存管理机制最密切相关的就是内存存储,本篇文章主要介 ...

  10. vijos P1911 珠心算测验

    #include<iostream> using namespace std; int main() { int n; int sum = 0; int num[200]; cin > ...