学习Java第一天

1.背景:

在操作系统中,包含C语言和汇编语言两种,其他高级语言需要通过安装运行环境来使操作系统辨别其内容.

C语言特点:

  • 速度最快
  • 性能最高
  • 书写很慢
  • 成本更高

特殊的:任何功能都能通过所有语言进行实现

C++相比较于C语言 代码更加简洁,但是Java比C++更加精简.

在各种大厂中语言的生态环境很重要

JAVA地位和GO差不多,都是网络核心语言

Python比较简单傻瓜 可以用现有的各种方法实现 但是遇到特别的问题就不好解决

这时生态环境社区就凸显出其重要性

生态环境社区

  • 创建团队
  • 初步完善Java
  • 公开
  • 邀请人进行 测试 性能调优 补充

共同形成了Java社区

阿里是目前最优秀的Java社区

2.学习

推荐进入

  • infoq
  • CCF官网
  • CSDN  (初学者最常用 但是里面有很多错误) 

分布式

  • 支持整合很多电脑的同时计算一个任务
  • 多线程是同时能进行多少个任务

3.Java

JDK 进行初步编译 把.Java文件编译成.class文件  用法:Javac

JRE 运行.class文件(.class操作系统也不认识)       用法:Java

SE Java核心团队(原始) 自带的初级功能

JavaEE 桌面网站web开发

JavaME 手机端开发

SDK 使用代码样例 有调用样例

类的命名
类的命名标准的命名规范为(类名 FirstSample 就遵循了这个规范):类名是以大写字母开头的名词。

如果名字由多个单词组成,每个单词的第一个字母都应该大写(这种在一个单词中间使 用大写字母的方式称为骆驼命名法。以其自身为例, 应该写成 CamelCase)。 源代码的文件名必须与公共类的名字相同,并用 .java 作为扩展名。因此,存储这段源代 码的文件名必须为 FirstSample.java (再次提醒大家注意,大小写是非常重要的, 千万不能写 成 firstsample.java)

  • 文件夹名字小写开头
  • 变量名小写开头
  • 方法名小写开头
  • 其他文件名字小写开头
  • 只有java类名字和类文件名字是大写开头

8种常用字符类型

 

名称位数取值范围
byte8位2^8(-2^7-2^7-1)
short16位2^8(-2^15-2^15-1)
int32位2^8(-2^31-2^31-1)
long64位2^64(-2^63-2^63-1)
float32位 10^38(大约+3.40282347E+38F)(有效位6-7位)
double64位10^308(大约+1.79769313486231570E+308)(有效位15位)
char根据编码决定
boolean32位*有两个值:false,true.判定逻辑条件

             *float类型补充小范围内精度高 范围扩大开始丢失精度 离0越近越密集 越远越大

             *整型值和布尔值之间不能相互转换

float和double类型表示方法

float0(1位)00000000(8位)00000000000000000000000(23位)
符号位阶位数值位
0-2550--2^23-1
假设阶位数字为x假设数值位为y
value=( 2^(x-127) * y)
double0(1位)00000000000(11位)(52位)

4.编码

计算机中最小存储单元 1b=8bit

视觉信息

形状,颜色,亮度

显示器

像素点

坐标(xy),三原色比例(红,绿,蓝),亮度

234,456,1,2,3

234,456,10,20,30

同样的颜色 同样的比例数值越大亮度越高

五个数字代表六种信息

用short类型表示像素点的坐标 和分辨率有关 1980*1024 byte不够 int太大

用byte类型表示颜色的属性

颜色取值0--255

 

short类型表示坐标时两个符号位16 + 16 = 32位

byte类型表示颜色时 8 + 8 + 8 = 24位

所以一个像素点的 6 个信息就可以用32 + 24 = 56 位bit信息来表示;

每个像素点读取时都需要读取56bit 在这种情况下读取一个图像 一个文字都需要传输大量的像素点和大量的数据

这时形状库出现了 把每个形状事先在形状库中进行保存 使用时直接从形状库中提取出来

但是每个形状在形状库中也占用了很大 我们可以给每个形状设定一个代号 需要A就去调用A形状的代号

从形状库中提取形状代号 用代号存储 存储量小

代号就是编码

磁盘

磁盘类似于光盘(从侧面观察类似于一个长方体) 正反两面都存有数据 

在磁盘的两面镶嵌着很多很小的磁颗粒 每个磁颗粒中存着一个 0 或 1 

每一个磁颗粒包含着 N极 和 S极 对外展示N表示1 对外展示S表示0

信息的传输是靠电压传输 高电压代表1 低电压代表0 

传输过程中会有高低电压  每一个磁颗粒都有自己的磁场 

产生相对位移切割磁场进而产生磁感线 产生电压电流 进而传输数据

但是切割磁感线产生的电压是正反电压而不是高低电压 

高低电压传输的方向是不变的  正反电压传输的方向会相反

解决正负电压的问题

原始磁头加一个3v电压就将正负电压变成了高低电压3v+2v=5v 3v+(-2v)=1v将高低电压传输以编码的形式编码对应提前存储好的格式像素点

5.变量

在 Java 中,每个变量都有一个类型( type)。在声明变量时,变量的类型位于变量名之 前。这里列举一些声明变量的示例:

double salary;

int vacationDays;

long earthPopulation;

boolean done;

每个变量结尾都已 " ; "结尾

变量名中所有的字符都是有 意义的,并且大小写敏感。变M名的长度基本上没有限制。

变量初始化就是给变量第一次赋值

常量

final修饰的常量都要大写

常量不能再次更改(面试点)

作用

  • 修饰常量
  • 修饰的类不能被继承
  • 修饰的方法不能被重写

防止指令重排序(并发)

运算符

在 Java 中,使用算术运算符 + 、-、 * 、/ 表示加、减、 乘、除运算。 当参与 / 运算的两个 操作数都是整数时, 表示整数除法;否则, 表示浮点除法。 整数的求余操作(有时称为取模) 用 % 表示。

函数

在 Math类中,包含了各种各样的数学函数。在编写不同类别的程序时,可能需要的函 数也不同。 要想计算一个数值的平方根, 可以使用 sqrt 方法:

double x = 4;

double y = Math.sqrt(x);

System.out.println(y); // prints 2.0

使用Java中Math方法时需要在最上面输入

import java.lang.Math.*;
public class Test{
public static void main(String[] aaa){
        int a = 289;
        double s = Math.sqrt(a);
        double f = Math.pow(2,22);
        System.out.printIn(f);
      }
)

数值类型的转化

  • 如果两个操作数中有一个是 double 类型, 另一个操作数就会转换为 double 类型。
  • 否则,如果其中一个操作数是 float 类型,另一个操作数将会转换为 float 类型
  • 否则, 如果其中一个操作数是 long 类型, 另一个操作数将会转换为 long 类型。
  • 否则, 两个操作数都将被转换为 int 类型。

 

自增和自减

a = a ++ // a = a, a = a+1 只有第一个等号成立

int b = a++ 就行

== 判断两个是否相等

!=检测不相等

&& 并且

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值