Well, neither the Java compiler nor the (normal) C# compiler will generate "native" assembly code from the source code. They'll generate Java bytecode or IL code respectively. Then depending on the VM in use, that code may end up being interpreted or JIT compiled - and possibly JIT compiled more than once (e.g. on HotSpot).
For example, here's the Java bytecode for your source code, as compiled with javac on my workstation (it's unlikely to differ very much for such a simple sample, but obviously for more complicated code there are options for what bytecode/IL to generate):
// Java bytecode
0: bipush 100
2: istore_1
3: bipush 50
5: istore_2
6: iload_1
7: iload_2
8: iadd
9: istore_3
and here's the IL from the C# compiler:
// IL
IL_0001: ldc.i4.s 100
IL_0003: stloc.0
IL_0004: ldc.i4.s 50
IL_0006: stloc.1
IL_0007: ldloc.0
IL_0008: ldloc.1
IL_0009: add
IL_000a: stloc.2
If you want to find out what native machine code is being run for that code at any one point in time, that will usually require some sort of debugger, e.g. cordbg for .NET. Even then you'll need to make sure you turn on the appropriate JIT compiler optimizations, as often when debugging you don't use optimizations because it makes the act of debugging harder. Then bear in mind that with something like HotSpot, you may well not be running the same code next time that method is hit...
Performance shouldn't generally be considered at the assembly code level, because that ignores too much context - what's in the cache, how often this code is being run, how often it takes one branch or another. Usually what matters is how the overall application behaves (or perhaps some subsystem or other) when used in real life.